home *** CD-ROM | disk | FTP | other *** search
/ Hackers Underworld 2: Forbidden Knowledge / Hackers Underworld 2: Forbidden Knowledge.iso / HACKING / FCSCVOL1.TXT < prev    next >
Text File  |  1994-07-17  |  641KB  |  12,200 lines

  1. FEDERAL CRITERIA
  2.  
  3. for
  4.  
  5. INFORMATION TECHNOLOGY SECURITY
  6.  
  7. VOLUME I
  8.  
  9.  
  10.  
  11. Protection Profile Development
  12.  
  13. Version 1.0
  14.  
  15. December 1992
  16.  
  17.  
  18.  
  19. This document is undergoing review and 
  20. is subject to modification or withdrawal.
  21.  
  22. The contents of this document should not 
  23. be referenced in other publications.
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31. NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY
  32.  
  33. &
  34.  
  35. NATIONAL SECURITY AGENCY
  36.  
  37. NOTES TO REVIEWERS
  38.  
  39.  
  40.  
  41. This is the first public draft of work in progress by the joint 
  42. National Institute of Standards and Technology (NIST) and 
  43. National Security Agency (NSA) Federal Criteria (FC) Project. 
  44. This draft Federal Criteria for Information Technology Security 
  45. is provided for preliminary review and comment by members of the 
  46. national and international computer security community.  The 
  47. document will evolve into a new Federal Information Processing 
  48. Standard (FIPS) intended principally for use by the United States 
  49. Federal Government, and also by others as desired and 
  50. appropriate.  The FIPS is intended to replace the Trusted Computer 
  51. System Evaluation Criteria (TCSEC) or "Orange Book."
  52.  
  53. Our objectives in presenting this draft material are threefold: 
  54. first, to give the community a clear view of the FC Project's 
  55. direction in moving beyond the TCSEC method of expressing 
  56. requirements in order to meet new IT security challenges; second, 
  57. to obtain feedback on the innovative approaches taken, the method 
  58. of presentation, and granularity; and third, to make a 
  59. substantial contribution to the dialogue among nations leading to 
  60. the harmonization of IT security requirements and evaluations.
  61.  
  62. It is important to note a few things about this preliminary FC 
  63. draft. First, it is a new and unpolished document and not intended 
  64. for any purpose except review and comment. Organizations should 
  65. not adopt any contents of this draft document for their use.  It 
  66. is anticipated that the document will undergo extensive revision 
  67. as it works its way through the public FIPS approval process over 
  68. the next year or two.  Second, the FC is being distributed in two 
  69. volumes. Volume I addresses the criteria development process and 
  70. is intended principally for use by developers of protection 
  71. profiles. The information in Volume I may also be of use to IT 
  72. product manufacturers and product evaluators. Volume II presents 
  73. completed IT product security criteria in the form of accepted 
  74. protection profiles.
  75.  
  76. The protection profiles associated with the final FIPS will help 
  77. consumers identify types of products that meet the protection 
  78. requirements within their particular organizations and 
  79. environments.  However, the FIPS will be supplemented by a series 
  80. of implementing guidance documents, many of which will be 
  81. designed to help consumers make cost-effective decisions about 
  82. obtaining and appropriately using security-capable IT products.
  83.  
  84. As a preliminary draft of the new FC-FIPS, this document is not 
  85. intended for general distribution or compliance.  The document 
  86. should not be considered a complete or finished product.  Your 
  87. comments will be used by the Federal Criteria Working Group to 
  88. help raise the maturity level of this material prior to being 
  89. circulated for further public comment in the FIPS development 
  90. process.
  91. ADDITIONAL NOTES TO REVIEWERS
  92.  
  93.  
  94.  
  95. Reviewers who provide substantive comments on the enclosed draft 
  96. FC by March 31, 1993 will be invited to attend an Invitational 
  97. Workshop on the Federal Criteria. This two-day workshop will be 
  98. held in the last week of April 1993 in the Washington-Baltimore 
  99. area at a location to be announced. All comments received by the 
  100. cut-off date will be correlated into major themes for discussion 
  101. by break-out groups at the workshop. The results will be used as 
  102. input into the process of re-drafting the FC for a second round of 
  103. comment prior to its being formalized as a FIPS.
  104.  
  105.  
  106.  
  107. Please send your comments (electronic format preferred) to 
  108. Nickilyn Lynch at the U.S. National Institute of Standards and 
  109. Technology (NIST), Computer Systems Laboratory (CSL).
  110.  
  111. Phone:    (301) 975-4267
  112. FAX:      (301) 926-2733.
  113.  
  114.  
  115.  
  116. (Internet) Electronic Mail:
  117.  
  118.           lynch@csmes.ncsl.nist.gov
  119.  
  120. Postal or Express Mail
  121. (Hardcopy or 3.5", 1.44M diskette in MSDOS, Macintosh, or Sun 
  122. format):
  123.  
  124.           Federal Criteria Comments
  125.           Attn: Nickilyn Lynch
  126.           NIST/CSL, Bldg 224/A241
  127.           Gaithersburg, MD 20899
  128. Table of Contents
  129.  
  130. Chapter  1.  
  131. INTRODUCTION 
  132.  
  133. 1.1  Purpose
  134. 1.2  Scope
  135. 1.3  Audience
  136. 1.4  Organization of the Standard
  137.  
  138. Chapter  2.  
  139. IT SECURITY DEVELOPMENT
  140.  
  141. 2.1  Overview
  142. 2.2  Functions and Assurance
  143. 2.3  Profile Development and Analysis
  144. 2.4  Product Development and Evaluation
  145. 2.5  System Development and Certification
  146.  
  147. Chapter  3.  
  148. PROTECTION PROFILES
  149.  
  150. 3.1  Overview
  151. 3.2  Sources of Protection Profiles
  152. 3.3  Protection Profile Contents
  153. 3.4  Protection Profile Development
  154. 3.4.1  Environment Security Analysis
  155. 3.4.1.1  Expected Threats
  156. 3.4.1.2  Intended Method of Use and Environment
  157. 3.4.2  Component Requirement Synthesis
  158. 3.5  Protection Profile Analysis
  159. 3.5.1  Technical Soundness
  160. 3.5.2  Usefulness
  161. 3.5.3  Evaluation Capability
  162. 3.5.4  Distinctness
  163. 3.5.5  Consistency
  164. 3.6  Protection Profile Registration
  165.  
  166. Chapter  4.  
  167. FUNCTIONAL REQUIREMENTS
  168.  
  169. 4.1  Overview
  170. 4.2  TCB Functional Components
  171. 4.2.1  Security Policy Support
  172. 4.2.1.1  Accountability Policy
  173. 4.2.1.1.1  Identification & Authentication (I&A)
  174. 4.2.1.1.2  System Entry
  175. 4.2.1.1.3  Trusted Path
  176. 4.2.1.1.4  Audit
  177. 4.2.1.2  Access Control Policy
  178. 4.2.1.2.1  Discretionary Access Control Policies
  179. 4.2.1.2.2  Non-Discretionary Access Control Policies
  180. 4.2.1.2.3  Covert Channel Handling
  181. 4.2.1.3  Availability Policy
  182. 4.2.1.3.1  Resource Allocation
  183. 4.2.1.3.2  Fault Tolerance
  184. 4.2.1.4  Security Management
  185. 4.2.2  Reference Mediation
  186. 4.2.3  TCB Logical Protection
  187. 4.2.4  TCB Physical Protection
  188. 4.2.5  TCB Self-Checking
  189. 4.2.6  TCB Start-Up and Recovery
  190. 4.2.7  TCB Privileged Operation
  191. 4.2.8  TCB Ease-of-Use
  192. 4.3  Rated Functional Components
  193. 4.3.1  Rated Identification & Authentication Components
  194. 4.3.2  Rated System Entry Components
  195. 4.3.3  Rated Trusted Path Components
  196. 4.3.4  Rated Audit Components
  197. 4.3.5  Rated Access Control Components
  198. 4.3.5.1  Rated Covert Channel Handling Components
  199. 4.3.6  Rated Resource Allocation Components
  200. 4.3.7  Rated Security Management Components
  201. 4.3.8  Rated Reference Mediation Components
  202. 4.3.9  Rated Logical TCB Protection Components
  203. 4.3.10  Rated Physical TCB Protection Components
  204. 4.3.11  Rated TCB Self Checking Components
  205. 4.3.12  Rated TCB Start-Up and Recovery Components
  206. 4.3.13  Rated TCB Privileged Operation Components
  207. 4.3.14  Rated TCB Ease-of-Use Components
  208. 4.4  Bibliographic Notes
  209.  
  210. Chapter  5.  
  211. DEVELOPMENT ASSURANCE REQUIREMENTS
  212.  
  213. 5.1  Overview
  214. 5.2  Development Assurance Components
  215. 5.2.1  Development Process
  216. 5.2.1.1  TCB Property Identification
  217. 5.2.1.2  TCB Design
  218. 5.2.1.2.1  TCB Element Identification
  219. 5.2.1.2.2  TCB Interface Definition
  220. 5.2.1.2.3   TCB Modular Decomposition
  221. 5.2.1.2.4  TCB Structuring Support
  222. 5.2.1.2.5  TCB Design Disciplines
  223. 5.2.1.3  Implementation Support
  224. 5.2.1.4  TCB Testing and Analysis
  225. 5.2.1.4.1  Functional Testing
  226. 5.2.1.4.2  Penetration Analysis
  227. 5.2.1.4.3  Covert Channel Analysis
  228. 5.2.2  Operational Support
  229. 5.2.2.1  User Guidance
  230. 5.2.2.2  Administrative Guidance
  231. 5.2.2.3  Flaw Remediation
  232. 5.2.2.4  Trusted Generation
  233. 5.2.3  Development Environment
  234. 5.2.3.1  Life Cycle Definition
  235. 5.2.3.2  Configuration Management
  236. 5.2.3.3  Trusted Distribution
  237. 5.2.4  Development Evidence
  238. 5.2.4.1  TCB Protection Properties
  239. 5.2.4.2   Product Design and Implementation
  240. 5.2.4.3   Product Testing and Analysis
  241. 5.2.4.3.1  Functional Testing
  242. 5.2.4.3.2  Penetration Analysis
  243. 5.2.4.3.3  Covert Channel Analysis
  244. 5.2.4.4   Product Support
  245. 5.3  Rated Development Assurance Components
  246. 5.3.1  Development Process
  247. 5.3.1.1  Rated TCB Property Identification  Components
  248. 5.3.1.2  Rated TCB Element Identification Components
  249. 5.3.1.3  Rated TCB Interface Definition Components
  250. 5.3.1.4  Rated Modular Decomposition Components
  251. 5.3.1.5  Rated TCB Structuring Support Components
  252. 5.3.1.6  Rated TCB Design Discipline Components
  253. 5.3.1.7  Rated Implementation Support Components
  254. 5.3.1.8  Rated Functional Testing Components
  255. 5.3.1.9  Rated Penetration Analysis Components
  256. 5.3.1.10  Rated Covert-Channel Analysis Components
  257. 5.3.2  Operational Support
  258. 5.3.2.1  Rated User Guidance Components
  259. 5.3.2.2  Rated Administrative Guidance Components
  260. 5.3.2.3  Rated Flaw Remediation Components
  261. 5.3.2.4  Rated Trusted Generation Components
  262. 5.3.3  Development Environment
  263. 5.3.3.1  Rated Life Cycle Definition Components
  264. 5.3.3.2  Rated Configuration Management Components
  265. 5.3.3.3  Rated Trusted Distribution Components
  266. 5.3.4  Development Evidence
  267. 5.3.4.1  Rated TCB Protection Property Evidence Components
  268. 5.3.4.2  Rated Product Design/Implementation Evidence Components
  269. 5.3.4.3  Rated Functional Testing Evidence Components
  270. 5.3.4.4  Rated Penetration Analysis Evidence Components
  271. 5.3.4.5  Rated Covert Channel Analysis Evidence Components
  272. 5.3.4.6  Rated Product Support Evidence Components
  273. 5.4  Bibliographic Notes
  274.  
  275. Chapter  6.
  276. EVALUATION ASSURANCE REQUIREMENTS
  277.  
  278. 6.1  Overview
  279. 6.2  Evaluation Assurance Components
  280. 6.2.1  Testing
  281. 6.2.1.1  Test Analysis Components
  282. 6.2.1.2  Independent Testing Components
  283. 6.2.2  Evaluation Review Requirements
  284. 6.2.2.1  Development Environment Review
  285. 6.2.2.2  Operational Support Review
  286. 6.2.3  Evaluation Analysis Requirements
  287. 6.2.3.1  Design Analysis
  288. 6.2.3.2  Implementation Analysis
  289. 6.3  Rated Evaluation Assurance Components
  290. 6.3.1  Rated Test Analysis Components
  291. 6.3.2  Rated Independent Testing Components
  292. 6.3.3  Rated Development Environment Review Components
  293. 6.3.4  Rated Operational Support Review Components
  294. 6.3.5  Rated Design Analysis Components
  295. 6.3.6  Rated Implementation Analysis Components
  296. 6.4  Bibliographic Notes
  297.  
  298. Chapter  7.  
  299. CONSTRUCTION OF PROTECTION PROFILES
  300.  
  301. 7.1  Overview
  302. 7.2  Synthesis of Profile Components
  303. 7.2.1  Assignment
  304. 7.2.2  Refinement
  305. 7.2.3  Decomposition
  306. 7.2.4  Level-Selection
  307. 7.3  Dependency Analysis
  308. 7.3.1  Dependency Classification
  309. 7.3.2  Dependencies Among Functional Components
  310. 7.3.2.1  "Uses" Dependency among Functional Components
  311. 7.3.2.2  Policy-Property Dependency
  312. 7.3.2.3  Multiple Dependencies
  313. 7.3.3  Dependencies Among Assurance Components
  314. 7.3.3.1  "Uses" Dependency among Assurance Components
  315. 7.3.3.2  Assurance-Process Dependencies
  316. 7.3.4   Dependencies between Functions and Assurances
  317. 7.3.4.1  Relationship to other Function and Assurance Classifications
  318. 7.3.5  Examples of Using Dependency Analysis
  319. 7.4  Bibliographic Notes
  320.  
  321. GLOSSARY
  322.  
  323. ACRONYMS
  324.  
  325. Appendix  A.  
  326. THREATS TO INFORMATION
  327.  
  328. Appendix  B.
  329. THE REFERENCE MONITOR CONCEPT
  330.  
  331. Appendix  C.
  332. DEFINING ACCESS CONTROL POLICIES
  333.  
  334. Appendix  D.
  335. MODULAR DECOMPOSITION
  336.  
  337. Appendix  E.
  338. PENETRATION ANALYSIS
  339.  
  340. Appendix  F.
  341. MOTIVATION FOR DEPENDENCY ANALYSIS
  342.  
  343. Appendix  G.
  344. EXAMPLE ASSURANCE PACKAGES
  345.  
  346.  
  347. List of Figures
  348.  
  349. Figure 1.  IT Security Development Activities
  350. Figure 2.  Protection Profile Development
  351. Figure 3.  Basis for Threat Analysis
  352. Figure 4.  Taxonomy of TCB Functions
  353. Figure 5.  Taxonomy of Development Assurances
  354. Figure 6.  Taxonomy of Evaluation Assurance Components
  355. Figure 7.  Examples of Uses Dependencies among Functional Components
  356. Figure 8.  Examples of Uses and Policy Properties Dependencies in Access
  357.            Control
  358. Figure 9.  Examples of Cyclic Dependencies and their Removal
  359. Figure 10. Examples of Policy Property Dependencies
  360. Figure 11. Examples of Uses Dependencies Among the TCSEC B2 Operational
  361.            Assurances
  362. Figure 12. Examples of Uses Dependencies Among Components Corresponding
  363.            to B2 Operational Assurances
  364. Figure 13. Example of Uses Dependencies among the Function and Assurance
  365.            Components Corresponding to the B3 Operational Assurances
  366. Figure 14. Authorization of Subject References to Objects
  367.  
  368. List of Tables
  369. Table 1.  Protection Profile Structure
  370. Table 2.  Rated Functional Components
  371. Table 3.  Rating Summary for Development Assurance Components
  372. Table 4.  Common Threat Agents
  373. Table 5.  Inappropriate Disclosure Threats (Confidentiality Violations)
  374. Table 6.  Fault-and-Error Threats (Integrity Violations)
  375. Table 7.  Loss-of-Service Threats (Availability Violations)
  376. Table 8.  T1 Assurance Package
  377. Table 9.  T2 Assurance Package
  378. Table 10. T3 Assurance Package
  379. Table 11. T4 Assurance Package
  380. Table 12. T5 Assurance Package
  381. Table 13. T6 Assurance Package
  382. Table 14. T7 Assurance Package
  383. Table 15. Assurance Packages Summary
  384.  
  385. Chapter  1.
  386.  
  387. INTRODUCTION
  388.  
  389. 1.1       Purpose
  390.  
  391. This Federal Information Processing Standard (FIPS) provides 
  392. a basis for developing, analyzing, and registering criteria 
  393. for information technology (IT) product security development 
  394. and evaluation. It explains how to use provided generic 
  395. requirements as building blocks to create unique sets of IT 
  396. product security criteria called protection profiles.
  397.  
  398. This standard builds on national and international IT product 
  399. security research and development by bringing together and 
  400. extending many concepts of this previous work. The FIPS has 
  401. four principal objectives.
  402.  
  403. a.        Develop an extensible and flexible framework for defining 
  404. new requirements for IT product security. IT product 
  405. security criteria must respond to the challenges of 
  406. extensible computing environments. The standard must 
  407. provide a structured approach for specifying security 
  408. requirements for IT products employed in such environments.
  409.  
  410. b.        Enhance existing IT product security development and 
  411. evaluation criteria. The fundamental principles of IT 
  412. product security must be reviewed and renewed for 
  413. application to new applications environments. The standard 
  414. must address selected IT product security requirements of 
  415. both Federal Government and private sector organizations.
  416.  
  417. c.        Facilitate international harmonization of IT product 
  418. security development and evaluation criteria. Producers of 
  419. IT products competing in the international marketplace can 
  420. benefit from a harmonized set of IT security development 
  421. and evaluation criteria and an evaluation process that is 
  422. economical, efficient, and predictable. The standard must 
  423. meet U.S. Government and commercial security needs while 
  424. recognizing that many of those needs are also shared by the 
  425. government and commercial entities of other nations.
  426.  
  427. d.        Preserve the fundamental principles of IT product security. 
  428. The fundamental principles of IT product security developed 
  429. during the past decades must be preserved. The standard 
  430. must be compatible with previous IT product security 
  431. requirements insofar as possible in order to protect 
  432. previous investments in the technology.
  433.  
  434. 1.2       Scope
  435.  
  436. This standard addresses the full spectrum of IT product 
  437. security needs, to include confidentiality, integrity, and 
  438. availability. Confidentiality requirements protect against 
  439. inappropriate disclosure of information; integrity 
  440. requirements ensure the correctness and appropriateness of 
  441. information and/or its sources; and availability ensures that 
  442. information is present and usable within reasonable time 
  443. constraints.
  444.  
  445. This standard addresses the specification of internal 
  446. security controls (protection mechanisms) that are 
  447. implemented in the hardware, firmware, and software of an IT 
  448. product. For these internal controls to be effective, however, 
  449. adequate external security controls must be employed. IT 
  450. product security is complemented by these external controls 
  451. (which include physical, personnel, procedural, and 
  452. administrative security measures) and by a separate 
  453. certification and accreditation process. For an IT product, 
  454. the external security measures constitute assumptions and 
  455. boundary conditions that are part of the environment described 
  456. in a protection profile. These environmental assumptions and 
  457. boundary conditions are necessary to ensure IT products can 
  458. be used in such a way as to meet identified security needs.
  459.  
  460. This standard distinguishes IT product requirements from IT 
  461. system requirements. In general, an IT product is a hardware 
  462. and/or software package that can be purchased as an off-the-
  463. shelf product and incorporated into a variety of systems. An 
  464. IT system is generally constructed from a number of hardware 
  465. and software components. For certain applications, it may be 
  466. possible to purchase a single IT product that satisfies all 
  467. customer requirements and, therefore, serve as a complete 
  468. system. In most cases, however, at least some IT product 
  469. customization and integration will be necessary to meet system 
  470. specific requirements.
  471.  
  472. >From a security perspective, the principal distinction 
  473. between products and systems lies in what is certain about 
  474. their operational environment. An IT product must be suitable 
  475. for incorporation into many potential IT systems. Thus, the 
  476. product developer can only make general assumptions about the 
  477. operational environment of a system in which the product may 
  478. be incorporated. These general assumptions include intended 
  479. method of use and generalized threats within the environment. 
  480. In contrast, an IT system must provide applications and meet 
  481. the requirements of a specific group of end-users within a 
  482. specific operational environment that has a specific set of 
  483. threat scenarios.
  484.  
  485. This standard addresses IT product requirements only. The 
  486. composition of multiple IT products into an IT system is 
  487. beyond the scope of this standard. Guidance for profile and 
  488. product composition will be addressed in future publications.
  489.  
  490. 1.3       Audience
  491.  
  492. This document serves three primary customer groups with 
  493. respect to IT product security:
  494.  
  495. a.        Consumers: Individuals or groups responsible for specifying 
  496. requirements for IT product security (e.g., policy makers 
  497. and regulatory officials, system architects, integrators, 
  498. acquisition managers, product purchasers, and end users).
  499.  
  500. b.        Producers: Providers of IT product security (e.g., product 
  501. vendors, product developers, security analysts, 
  502. integrators, and value-added resellers).
  503.  
  504. c.        Evaluators: Individuals or groups responsible for the 
  505. independent assessment of IT product security (e.g., 
  506. product evaluators, system security officers, system 
  507. certifiers, and system accreditors).
  508.  
  509. Secondary audiences include technical educators, standards 
  510. bodies, and the research and development community.
  511.  
  512. 1.4       Organization of the Standard
  513.  
  514. The remainder of this FIPS is organized as follows. Chapter 2 
  515. describes the activities of IT security development. Chapter 
  516. 3 addresses the form and content of protection profiles. 
  517. Chapters 4, 5, and 6 provide detailed functional, development 
  518. assurance, and evaluation assurance component requirements 
  519. for use in constructing protection profiles. Chapter 7 is a 
  520. guide to constructing protection profiles using the component 
  521. requirements of Chapters 4 through 6. Several appendices 
  522. provide additional supporting guidance.
  523.  
  524. This standard is part of a series of FIPS publications. 
  525. Subsequent documents will be published as a Registry of 
  526. Profiles representing profiles that have been developed, 
  527. analyzed, and registered in accordance with this standard. 
  528. Additional profiles will be added to the registry as consumer 
  529. needs change and technology advances. Supporting guidelines 
  530. for the standard will be published as part of this FIPS series 
  531. or as other Federal agency publications.
  532.  
  533. Chapter  2.
  534.  
  535. IT SECURITY DEVELOPMENT
  536.  
  537. 2.1       Overview
  538.  
  539. IT security development consists of three separate but related 
  540. activities that begin with consumer specification of 
  541. requirements for IT product security and end with installed 
  542. IT systems incorporating products that have been approved to 
  543. operate in a particular environment. The following list 
  544. describes these activities, shown in Figure 1:
  545.  
  546. a.        Profile Development and Analysis. IT product security 
  547. requirements are specified in a structured format; analyzed 
  548. for completeness, consistency, and technical correctness; 
  549. and accepted into a registry of profiles.
  550.  
  551. b.        Product Development and Evaluation. IT products are 
  552. developed (or may already exist) in response to a profile 
  553. and independently assessed to produce a rating regarding 
  554. the product's conformance to a profile's specific security 
  555. requirements.
  556.  
  557. c.        System Development and Certification. One or more IT 
  558. products are combined into an IT system that has been 
  559. determined, from a security point of view, to be acceptable 
  560. for use in a specific environment and accredited for 
  561. operation.
  562.  
  563. This standard addresses the first of the three activities of 
  564. IT security development, (i.e., profile development and 
  565. analysis). Product development and evaluation as well as 
  566. system development and certification are beyond the scope of 
  567. this standard. Sections 2.4 and 2.5 briefly discuss these 
  568. activities to establish their relationship to profile 
  569. development.
  570.  
  571. In many cases, consumers will accept IT systems that contain 
  572. unevaluated IT products, thus bypassing two of the activities 
  573. of IT security development. This situation, however, places 
  574. more demands on the system development process and the final 
  575. certification and accreditation processes.
  576.  
  577. 2.2       Functions and Assurance
  578.  
  579. This standard focuses on IT products that can potentially be 
  580. used in many diverse environments. These products are required 
  581. to support various organizational security policies and 
  582. address a diverse set of security requirements by providing 
  583. selected IT security features or services. Collectively, 
  584. these security features or services are known as protection 
  585. functions.
  586.  
  587. Specifying requirements for protection functions is a 
  588. necessary but insufficient way to ensure consumer confidence 
  589. that the resulting IT product will provide a viable solution 
  590. to a protection problem. It is also necessary to consider the 
  591. extent to which the protection functions can be relied upon. 
  592. Are the functions appropriate to counter the threats? Are the 
  593. functions sufficiently strong to counter the threats? Are the 
  594. functions implemented soundly? Are there any threats not 
  595. countered by the functions? The extent of this reliance is 
  596. known as assurance. Assurance is the basis for consumer 
  597. confidence or trust that an IT product is suitable, with 
  598. respect to security, for its intended use.
  599.  
  600. Three sources of IT product assurance have been identified: 
  601. protection functions built into the product, characteristics 
  602. of how the product was designed and developed, and results of 
  603. the independent examination of the product. These three 
  604. aspects of IT product assurance (i.e., what it contains, how 
  605. it was designed and developed, and how it was evaluated) are 
  606. related. The evaluation activity examines the results of the 
  607. IT product design, development, and implementation. Assurance 
  608. requirements vary in accordance with organizational security 
  609. policies, expected environment, and intended use of the IT 
  610. product. Producers, consumers, and evaluators of IT product 
  611. security perform different activities to obtain the requisite 
  612. assurance.
  613.  
  614. 2.3       Profile Development and Analysis
  615.  
  616. During profile development and analysis, consumers and/or 
  617. producers define requirements for IT product security in a 
  618. unifying structure called a protection profile. A protection 
  619. profile contains IT product requirements for protection 
  620. functions, development assurance, and evaluation assurance. 
  621. These requirements can be framed in the context of a rationale 
  622. statement, which provides the overall justification for the 
  623. protection profile.
  624.  
  625. Acceptance of a newly developed protection profile requires 
  626. that the profile be carefully scrutinized for its usefulness, 
  627. both in content and form. It must also be analyzed for 
  628. completeness, consistency, and technical correctness. 
  629. Therefore, achieving profile acceptance will often require 
  630. iteration as the initial profile is refined. Profile revision 
  631. and analysis continues until an acceptable profile results. 
  632. The profile can then be entered into a registry as basis for 
  633. both product development and evaluation.
  634.  
  635. Some new profiles will have broad usefulness to the U.S. 
  636. Government. These profiles are candidates to become Federal 
  637. Information Processing Standards (FIPS). In these cases, the 
  638. public FIPS development and approval process will encompass 
  639. the profile analysis and registry mechanisms. For such 
  640. profiles, NIST and NSA, with security professionals from the 
  641. public and private sectors, will make use of invitational 
  642. workshops and public review to provide the quality control and 
  643. technical oversight that manages the proliferation of 
  644. protection profiles. Chapter 3 provides additional detail 
  645. that must be addressed during profile analysis, including 
  646. profiles that are in the process of becoming FIPS. However, 
  647. the specific details of that process are beyond the scope of 
  648. this standard.
  649.  
  650. Editor's Note: Although the process of profile 
  651. development and analysis is not fully mature, the 
  652. final version of the Federal Criteria will success-
  653. fully answer questions such as the following: Will 
  654. all profiles be subjected to the same level of anal-
  655. ysis? What methods of analysis and tools might be 
  656. employed? Will profiles be subject to modification? 
  657. How will new profiles be handled if they closely 
  658. resemble existing profiles in the registry? Who 
  659. will pay for profile analysis?
  660.  
  661. 2.4       Product Development and Evaluation
  662.  
  663. During product development and evaluation, a producer will 
  664. incorporate protection functions into an IT product based on 
  665. the requirements of a protection profile selected from the 
  666. pool of registered profiles. Alternatively, a producer, who 
  667. has identified a market for an IT product unrelated to one of 
  668. the existing profiles, can undertake profile development and 
  669. analysis.
  670.  
  671. The requirements in a protection profile should be product 
  672. independent since many potential IT products may be able to 
  673. satisfy the requirements of a particular profile. The 
  674. comprehensive product description that explains how a 
  675. specific IT product meets the requirements of a given 
  676. protection profile is known as a security target. The security 
  677. target is a specification and elaboration of the more general 
  678. requirements in a protection profile and is, by definition, 
  679. product dependent. The security target is the primary means 
  680. of communicating specific product development information 
  681. (evidence) to independent evaluators or to consumers. The 
  682. development of product-specific security targets is beyond 
  683. the scope of this standard.
  684.  
  685. Subsequent to development, an independent evaluation of an IT 
  686. product may occur to produce a rating with respect to the 
  687. product's conformance to the specific security requirements 
  688. outlined in the protection profile. IT product evaluations may 
  689. be accomplished by one of several evaluation authorities, just 
  690. as profiles may be implemented by more than one producer. 
  691. Consequently, specific details regarding evaluation processes 
  692. are beyond the scope of this standard.
  693.  
  694. 2.5       System Development and Certification
  695.  
  696. During system development and certification, IT products 
  697. typically will be combined with other IT products into system 
  698. configurations of varying degrees of complexity. The IT 
  699. products used during system development may or may not have 
  700. been formally evaluated. The completed IT systems will be 
  701. subsequently employed in specific operational environments. 
  702. An IT system must undergo an assessment and receive management 
  703. approval prior to becoming operational. The assessment and 
  704. management approval processes are known as system 
  705. certification and accreditation, respectively.
  706.  
  707. IT system certification is conducted in support of the 
  708. accreditation process. The extent to which a particular IT 
  709. system meets a set of security requirements for its mission 
  710. and operational environment is established by the 
  711. comprehensive assessment of its internal and external 
  712. security controls. In the Federal Government, a Designated 
  713. Approving Authority (DAA) receives the resulting 
  714. documentation to support the accreditation decision. In the 
  715. private sector, this information might be provided to an 
  716. equivalent designated management authority (e.g., corporate 
  717. executive officer, department head, or division manager).
  718.  
  719. IT system accreditation is the official management decision 
  720. to operate an IT system. The accreditation normally grants 
  721. approval for the IT system to operate (1) in a particular 
  722. security configuration, (2) with a prescribed set of 
  723. countermeasures (administrative, physical, personnel, 
  724. communications, emissions, and IT product internal security 
  725. controls), (3) against a defined threat with stated 
  726. vulnerabilities, (4) in a given operational context, (5) with 
  727. stated interconnections to other systems, (6) at an acceptable 
  728. level of risk for which the accrediting authority has formally 
  729. assumed responsibility, and (7) for a specified period of 
  730. time. The DAA formally accepts responsibility for the secure 
  731. operation of the system and officially declares that a 
  732. specified IT system will adequately protect against the 
  733. identified threats through the continuous use of 
  734. countermeasures. The accreditation decision affixes this 
  735. responsibility with the DAA and shows that due care has been 
  736. taken for security in accordance with applicable 
  737. organizational security policies. 
  738.  
  739. Chapter  3.
  740.  
  741. PROTECTION PROFILES
  742.  
  743. 3.1       Overview
  744.  
  745. A protection profile is an abstract specification of the 
  746. security aspects of a needed IT product. It is product 
  747. independent, describing a range of products that could meet 
  748. this same need. Required protection functions and assurances 
  749. must be bound together in a protection profile, with a 
  750. rationale describing the anticipated threats and intended 
  751. method of use. The protection profile specifies requirements 
  752. for the design, implementation, and use of IT products.
  753.  
  754. Protection profiles can be assembled from pre-specified or 
  755. unique functional and assurance components. A functional 
  756. component is a set of rated requirements for protection 
  757. functions to be implemented in an IT product (see Chapter 4). 
  758. An assurance component is a set of rated requirements for 
  759. development and evaluation activities conducted by producers 
  760. and evaluators during construction and independent assessment 
  761. of an IT product (see Chapters 5 and 6). For convenience, 
  762. groups of functional and assurance components can be assembled 
  763. into predefined packages (see Appendixes A and B). During 
  764. construction of the protection profile, additional 
  765. dependencies must be considered between functions and 
  766. assurances (see Chapter 7).
  767.  
  768. 3.2       Sources of Protection Profiles
  769.  
  770. Consumers or producers within the Government or the private 
  771. sector develop protection profiles in response to a specific 
  772. need for information protection. Profile developers, or 
  773. sponsors, with a unique security need could propose a 
  774. protection profile for that need or, more typically, groups 
  775. of sponsors having similar needs could combine to propose one 
  776. profile that meets their common need. Multiple sponsors 
  777. supporting a single profile is an effective way to demonstrate 
  778. a larger market to potential IT product producers.
  779.  
  780. Unique protection profiles reflect the needs of diverse sets 
  781. of sponsors. For example, a banker's association might propose 
  782. a protection profile for secure electronic funds transfer, or 
  783. the Department of Defense might propose a protection profile 
  784. for military applications. A single protection may also apply 
  785. to many IT products, showing the diversity of potential 
  786. solutions for the requirements outlined in the profile.
  787.  
  788. A producer who identifies a market for IT product security can 
  789. also propose a profile to give consumers a means of referring 
  790. to a specific set of needs and to facilitate future evaluation 
  791. against those needs. The protection profile is intended to 
  792. respond to both the pull of consumer needs and to the push of 
  793. advancing technology. Ultimately, the protection profile is a 
  794. common reference among consumers, producers, and evaluators.
  795.  
  796. 3.3       Protection Profile Contents
  797.  
  798. A protection profile contains five sections: descriptive 
  799. elements, rationale, functional requirements, development 
  800. assurance requirements, and evaluation assurance 
  801. requirements. The Descriptive Elements section provides 
  802. categorical and descriptive information necessary to 
  803. identify, categorize, register, and cross-reference a 
  804. protection profile in a registry of profiles. The narrative 
  805. description is a brief characterization of the profile, 
  806. including a description of the information protection problem 
  807. to be solved. This section applies to all potential users of 
  808. the profile to determine whether or not the profile is 
  809. applicable to a consumer's information protection needs.
  810.  
  811. The Rationale section provides the fundamental justification 
  812. for a protection profile, including threat, environment, and 
  813. usage assumptions. It also presents a more detailed 
  814. characterization of the protection problem to be solved by an 
  815. IT product meeting the requirements of the profile. This 
  816. section describes the protection problem in sufficient detail 
  817. for producers to understand the range of potential solutions 
  818. to the problem. It also provides information to consumers 
  819. regarding how IT products that successfully solve this problem 
  820. can be used to support an organization's security policy.
  821.  
  822. The Functional Requirements section establishes the 
  823. information protection boundary that must be provided by an 
  824. IT product. Expected threats to information within this 
  825. boundary must be countered by functions inside the protection 
  826. boundary. The more robust the expected threats, the greater 
  827. the required strength of the protection functions. The IT 
  828. product protection functions support an organization's 
  829. security policy when coupled with certain assumptions about 
  830. the product's intended use and anticipated operational 
  831. environment.
  832.  
  833. The Development Assurance Requirements section covers all 
  834. phases of an IT product's development, from the initial 
  835. product design through implementation. Specifically, the 
  836. development assurance requirements include the development 
  837. process, development environment, and operational support 
  838. requirements. In addition, since many assurance requirements 
  839. are not readily testable, it is necessary to study IT product 
  840. development evidence or documentation to verify that 
  841. requirements have been met. Development evidence requirements 
  842. are included in a protection profile to ensure that the producer 
  843. generates and retains appropriate documentation during product 
  844. development for subsequent analysis during evaluation and product 
  845. maintenance.
  846.  
  847. The Evaluation Assurance Requirements section specifies the type 
  848. and intensity of evaluation to be performed on an IT product 
  849. developed in response to a particular protection profile. In 
  850. general, for an IT product, the scope and intensity of evaluation 
  851. vary with the expected threat, intended method of use, and assumed 
  852. environment as defined by the profile developer in the rationale 
  853. section. Table 1 summarizes the contents of a protection profile.
  854.  
  855.                    Table 1. Protection Profile Structure
  856. .-------------------------------------------------------------------------.
  857. | Descriptive  | Provides categorical and descriptive information         |
  858. | Elements     | necessary to uniquely identify, register, and cross-     |
  859. |              | reference a protection profile in a registery of         |
  860. |              | profiles.  Includes a description of the information     |
  861. |              | protection problem to be solved.                         |
  862. |--------------+----------------------------------------------------------|
  863. | Rationale    | Provides the fundamental justification for a protection  |
  864. |              | profile, to include threat, environment, and usage       |
  865. |              | assumptions. Addresses support for organization security |
  866. |              | policies.                                                |
  867. |--------------+----------------------------------------------------------|
  868. | Functional   | Establishes the boundary of responsibility for inform-   |
  869. | Requirements | ation protection that must be provided by an IT product, |
  870. |              | such that expected threats to information within this    |
  871. |              | boundary are countered.                                  |
  872. |--------------+----------------------------------------------------------|
  873. | Development  | Specifies assurance requirements for all phases of an IT |
  874. | Assurance    | product's development from initial product design through|
  875. | Requirements | implementation. Includes the development process, the    |
  876. |              | development environment, operational support, and        |
  877. |              | development evidence.                                    |
  878. |--------------+----------------------------------------------------------|
  879. | Evaluation   | Specifies assurance requirements for the kind and        |
  880. | Assurance    | intensity of evaluation to be performed on an IT product |
  881. | Requirements | developed in response to a protection profile in accord- |
  882. |              | ance with the expected threat, intended method of use,   |
  883. |              | and assumed environment.                                 |
  884. `-------------------------------------------------------------------------'
  885.  
  886.  
  887. 3.4       Protection Profile Development
  888.  
  889. The requirements for protection functions, development assurance, 
  890. and evaluation assurance must be incorporated into a protection 
  891. profile. These requirements, specified by the rated functional and 
  892. assurance components, provide the basic building blocks for the 
  893. definition of a protection profile. The components must be 
  894. assembled into a consistent and coherent set that satisfies 
  895. specific security goals of the anticipated environments of product 
  896. use. The assembled components should counter expected threats, 
  897. eliminate vulnerabilities, support security policies, and satisfy 
  898. regulatory requirements defined in the anticipated environments of 
  899. use.
  900.  
  901. Figure 2 shows that protection profile development consists of two 
  902. stages: (1) an environment security analysis and (2) a component 
  903. requirement synthesis. The environment security analysis addresses 
  904. the identification of security requirements and provides 
  905. information necessary for the development of the profile rationale. 
  906. The component requirement synthesis addresses the selection of 
  907. appropriate functional and assurance components for the profile. 
  908. Developing a protection profile requires analysis of dependencies 
  909. among the functional components, among assurance components, 
  910. and between functional and assurance components (see Chapter 
  911. 7).
  912.  
  913. 3.4.1     Environment Security Analysis
  914.  
  915. During the environment security analysis stage, the sponsor 
  916. (i.e., profile developer) derives a set of environment-
  917. specific security requirements based on expected threats and 
  918. vulnerabilities; intended method of IT product use; 
  919. environment assumptions; and policies, standards, 
  920. regulations, or directives (if any). Although these 
  921. requirements can be considered environment-specific, they 
  922. derive from several potential environments of product use, and 
  923. they capture the common security characteristics of those 
  924. environments. The result of the security analysis, the 
  925. environment-specific requirements, must characterize the 
  926. environments of use in a demonstrable way.
  927.  
  928. The selection of environment-specific security requirements 
  929. must be based on effectiveness of the security functions. The 
  930. sponsor must show that the requirements in the protection 
  931. profile satisfy the security objectives by countering the 
  932. expected threats and eliminating the anticipated 
  933. vulnerabilities. The effectiveness of the environment-
  934. specific requirements is a primary justification that must be 
  935. provided in the profile rationale and an important 
  936. consideration in the acceptance of a profile. Other 
  937. considerations, such as the utility and relevance of the 
  938. anticipated environments of use, also apply to the profile 
  939. analysis.
  940.  
  941. 3.4.1.1   Expected Threats
  942.  
  943. A threat is a classification of the capabilities, intentions, 
  944. and attack methods of adversaries to exploit (or any 
  945. circumstance or event with the potential to cause harm to) 
  946. information or an information system. Harm to information or 
  947. information systems due to threats may result because of 
  948. absence or failure of functional controls. The consequences 
  949. of threats may vary.
  950.  
  951. As suggested by Figure 3, the analysis of expected threats 
  952. starts at the boundary of the IT product's assumed 
  953. environment. The scope of the analysis continues inward 
  954. through the product's protection boundary to its protected 
  955. information resources. One result of the analysis is the 
  956. development of generic threat categories. These categories 
  957. can be ordered according to risk (probability of occurrence) 
  958. and level of severity. Appendix A provides a brief synopsis 
  959. of common threats to information technology.
  960.  
  961. 3.4.1.2   Intended Method of Use and Environment
  962.  
  963. A protection profile must contain assumptions about the way 
  964. the product will be used and the environment in which it will 
  965. be placed. Assumptions should highlight significant 
  966. constraints. For example, in some environments, routine 
  967. product maintenance would be infeasible. These assumptions 
  968. will enable the profile's users to understand the significance 
  969. of the information being processed, the users and 
  970. administrators involved in the information processing, the 
  971. type of information processing, and the protection for the 
  972. processing environment and its relationship to the users.
  973.  
  974. Sample rationales might include the following:
  975.  
  976. Example 1: This IT product generally will be used to process 
  977. concurrent multiple levels of disclosure-sensitive and/or 
  978. manipulation-sensitive information (i.e., national security 
  979. information and/or information subject to organization 
  980. internal controls and external regulation). In the assumed 
  981. environment, sensitivity markings indicate the IT security 
  982. controls that must be applied to protect the information. 
  983. These sensitivity markings may be associated with objects that 
  984. range in size from data elements to files.
  985.  
  986. Example 2: The users and administrators have access to 
  987. multiple levels and types of information and processing 
  988. resources. Access authorization is based on attributes, such 
  989. as duties within roles, determination of need to know, trust 
  990. indicators (such as individual clearances or job 
  991. descriptions) and entry constraints (such as time, location, 
  992. terminal, and port).
  993.  
  994. Example 3: Information is processed on centralized general-
  995. purpose shared computing resources allowing for both 
  996. interactive and batch processing. The operational mode is 
  997. concurrent multilevel processing. The user interface is 
  998. generally expected to be window-based. Use of a database 
  999. management system is anticipated. The database management 
  1000. system need not be a part of the product offering, but a 
  1001. description of how to integrate the database security 
  1002. interface must be provided.
  1003.  
  1004. Example 4: The processing resources of the IT product, 
  1005. including all terminations, will be located within user spaces 
  1006. that have physical access controls. A restricted access 
  1007. environment with unarmed guards should be assumed. The 
  1008. possibility of the environment becoming hostile should be 
  1009. considered (e.g., a U.S. Embassy in a foreign country). 
  1010. Networking may be anticipated, but is not required as part of 
  1011. the IT product offering.
  1012.  
  1013. 3.4.2     Component Requirement Synthesis
  1014.  
  1015. During the second stage of protection profile development, the 
  1016. environment-specific security requirements must be used in 
  1017. conjunction with well-defined profile requirement 
  1018. construction rules to select and tailor the generic functional 
  1019. and assurance components provided in Chapters 4 through 6 of 
  1020. this standard. The resulting profile specifies the protection 
  1021. policy that must be supported within the IT product.
  1022.  
  1023. Not all environment-specific security requirements apply to 
  1024. the selection of the functional and assurance components. The 
  1025. environment-specific security requirements referred to in 
  1026. this section are those requirements that may be used to select 
  1027. functional and assurance components to be incorporated in a 
  1028. protection profile.
  1029.  
  1030. The selection of components also involves dependencies among 
  1031. components. Dependencies among functional components drive 
  1032. the selection of the functional components. Dependencies 
  1033. between functional and assurance components, and within the 
  1034. assurance components affect assurance component selection. 
  1035. Chapter 7 cites specific information on the techniques for 
  1036. constructing protection profiles and the dependency 
  1037. considerations between functional and assurance components.
  1038.  
  1039. 3.5       Protection Profile Analysis
  1040.  
  1041. After a protection profile has been developed by a sponsor, 
  1042. it must be analyzed. Protection profile analysis ensures that 
  1043. the profile has the following characteristics: technical 
  1044. soundness, usefulness, evaluation capability, distinctness, 
  1045. and consistency.
  1046.  
  1047. The rationale section supports the profile analysis conducted 
  1048. to assess whether the vulnerabilities constituting a 
  1049. protection problem are adequately countered by the profile's 
  1050. proposed protection functions and assurances. The profile 
  1051. analysis determines that the risks identified in the 
  1052. protection problem have been reduced to an acceptable level. 
  1053. Profile analysis is important; many products may be created 
  1054. in response to a protection profile.
  1055.  
  1056. As described in the following sections, the goals of 
  1057. protection profile analysis are to ensure the following 
  1058. characteristics:
  1059.  
  1060. a.        Technical soundness. The elements of a protection profile 
  1061. are technically sound and reasonably balanced, considering 
  1062. the profile rationale (threat, usage, and environment 
  1063. assumptions), and the functional and assurance 
  1064. requirements.
  1065.  
  1066. b.        Usefulness. IT products built to meet the requirements of 
  1067. a protection profile will serve a useful purpose.
  1068.  
  1069. c.        Evaluation capability. Implementation of a protection 
  1070. profile's requirements can be evaluated. Consumers, 
  1071. evaluators, and producers will understand how to determine 
  1072. that the profile requirements have been met by a specific 
  1073. IT product.
  1074.  
  1075. d.        Distinctness. The protection profile is distinct, in that 
  1076. it does not duplicate a need adequately described by 
  1077. another profile.
  1078.  
  1079. e.        Consistency. The protection profile is consistent with 
  1080. other profiles in form and level of detail.
  1081.  
  1082. 3.5.1     Technical Soundness
  1083.  
  1084. Determining technical soundness is a crucial part of the 
  1085. analysis of a protection profile. The following three major 
  1086. characteristics should be considered:
  1087.  
  1088. a.        Strength or appropriateness of protection functions and 
  1089. assurances. This characteristic is a judgment made by 
  1090. comparing the profile rationale (threat, usage, environment 
  1091. assumptions, and security policy) with the required 
  1092. protection functions and assurances. It must be determined 
  1093. that if the IT product is used as recommended, each stated 
  1094. threat will be successfully addressed through the 
  1095. prescribed combination of functional and assurance 
  1096. requirements, taking into account assumptions about the 
  1097. environment.
  1098.  
  1099. b.        Internal consistency of profile requirements. This 
  1100. characteristic is a judgment based on an overall analysis 
  1101. of the protection profile to determine that the degree of 
  1102. required protection functions is commensurate with the 
  1103. degree of required assurance.
  1104.  
  1105. c.        Requirement dependencies. This characteristic involves 
  1106. dependencies that may exist among requirements and whether 
  1107. any dependencies have not been considered in the 
  1108. development of the protection profile. These dependencies 
  1109. can be functional-functional, assurance-assurance, or 
  1110. functional-assurance. Dependency analysis must be complete 
  1111. and consistent.
  1112.  
  1113. Questions to be answered during the technical soundness 
  1114. analysis might include the following: Are the functional 
  1115. requirements sufficient to counter the expected threats? Are 
  1116. any threats not countered adequately addressed in 
  1117. environmental and/or other assumptions outside the domain of 
  1118. the IT product? Is the degree of assurance compatible with the 
  1119. threat expected and with the level of protection functions 
  1120. required? Have all stated dependencies been addressed? Have 
  1121. any dependencies been omitted? Are there inconsistencies in 
  1122. protection functions resulting from an examination of 
  1123. dependencies?
  1124.  
  1125. 3.5.2     Usefulness
  1126.  
  1127. A management decision is necessary to commit the resources for 
  1128. conducting a profile analysis. Consumers and producers may 
  1129. determine the usefulness of a profile based on different 
  1130. criteria. Determining the profitability of a market is clearly 
  1131. a producer's responsibility. The protection profile analysis 
  1132. is not intended to interfere with the producer's business 
  1133. decisions. Usefulness analysis relies primarily on the 
  1134. rationale section of the profile to express the need with 
  1135. respect to threat, usage and environment assumptions.
  1136.  
  1137. The analysis also includes an assessment of development 
  1138. feasibility. Protection profiles requiring research and 
  1139. development efforts should be identified so that the profiles 
  1140. will not raise expectations for near-term implementations.
  1141.  
  1142. Questions to be answered during the usefulness analysis might 
  1143. include the following: Does this protection profile address a 
  1144. real problem? Does this protection profile differ 
  1145. significantly from existing profiles, or could the needs 
  1146. described in this profile be met adequately by another 
  1147. existing profile? If the demand is too small to support 
  1148. commercial off-the-shelf products, what factors could induce 
  1149. producers to develop products for a niche market? 
  1150. Approximately how large is the demand for these products? Is 
  1151. the protection profile readily implementable? Is the state of 
  1152. technology sufficiently developed or is basic or applied 
  1153. research and development necessary?
  1154.  
  1155. 3.5.3     Evaluation Capability
  1156.  
  1157. The protection profile requirements must be reviewed to ensure 
  1158. that IT products intended to satisfy the requirements in the 
  1159. protection profile are capable of being evaluated. A 
  1160. protection profile may be used as the basis for product 
  1161. development. The evaluation capability analysis of the 
  1162. profile can pay off by clearly defining what is expected 
  1163. during the evaluation process. As far as possible, 
  1164. requirements in the protection profile should be stated in 
  1165. objective terms so the producer and the evaluator will be more 
  1166. likely to agree on their interpretation of the requirements. 
  1167. If certain requirements must be stated in subjective terms, 
  1168. clear and explicit guidelines should be presented to explain 
  1169. what factors should be considered to determine whether the 
  1170. requirements have been met. Requirements should be simple, 
  1171. declarative statements and for ease of reference, 
  1172. requirements should be numbered or otherwise indexed. These 
  1173. features will help to ensure that requirements will not be 
  1174. overlooked, either during product design and development or 
  1175. during evaluation.
  1176.  
  1177. Questions to be answered during the evaluation capability 
  1178. analysis might include the following: Is the purpose or 
  1179. objective of each requirement clear? What does each 
  1180. requirement contribute to the overall IT product security? Is 
  1181. the phrasing of each requirement clear and concise? Are the 
  1182. criteria for success for each requirement self-evident or 
  1183. explicitly provided? Is there a means by which it can be shown 
  1184. that each protection requirement has been established in the 
  1185. producer's IT product? Is each requirement objective? If a 
  1186. requirement is subjective, is it accompanied by objective 
  1187. factors to be considered when determining if the requirement 
  1188. has been met?
  1189.  
  1190. 3.5.4     Distinctness
  1191.  
  1192. A new protection profile is compared with existing profiles 
  1193. to determine that it meets a unique need and that the 
  1194. requirements of no other existing profile address that same 
  1195. need. A protection profile, once registered, is not intended 
  1196. to be changed (except for editorial changes that would not 
  1197. affect any producers currently developing products to meet 
  1198. that profile specification). This constraint is intended to 
  1199. preserve a relatively stable and manageable set of 
  1200. requirements. New needs must be met by new profiles. Similar 
  1201. protection profiles are cross-referenced.
  1202.  
  1203. Questions to be answered during distinctness analysis might 
  1204. include the following: Do the presumed threats described in 
  1205. this profile very closely resemble those of any other existing 
  1206. profile? If yes, is there a significant difference between the 
  1207. two profiles? Do the required protection functions very 
  1208. closely resemble those of any other existing profile? If yes, 
  1209. does a significant difference exist between the two profiles? 
  1210. Do the functional requirements and rationale sections of the 
  1211. protection profile resemble another protection profile with 
  1212. different assurance requirements? If yes, can assurance 
  1213. requirements of the other profiles be changed?
  1214.  
  1215. 3.5.5     Consistency
  1216.  
  1217. Protection profiles must be consistent with one another in 
  1218. form and level of detail. This review analyzes the profile to 
  1219. ensure that the properties associated with accepted 
  1220. protection profiles are present. A clear and convincing case 
  1221. must be made for allowing protection profiles whose form must 
  1222. differ from the norm.
  1223.  
  1224. Questions to be answered during consistency analysis might 
  1225. include the following: Is the protection profile complete? Are 
  1226. the objectives and expected threats discussed reasonably 
  1227. complete for the expected environments and intended method of 
  1228. use? Can the threats be shown to be mitigated by attributes 
  1229. of the IT product or its environment? Is the protection 
  1230. profile internally consistent in its level of protection? Are 
  1231. the form and degree of detail of the protection profile 
  1232. consistent with the form and degree of detail of other 
  1233. profiles?
  1234.  
  1235. 3.6       Protection Profile Registration
  1236.  
  1237. To provide a relatively stable environment, a profile is 
  1238. intended never to be changed once it is registered. However, 
  1239. evaluation experience may identify errors and ambiguities 
  1240. that need to be corrected. New information protection 
  1241. requirements will be addressed by the development of new 
  1242. profiles.
  1243.  
  1244. Protection profiles that have completed analysis will be 
  1245. registered. Producers can select profiles for IT product 
  1246. implementation. The profiles in the public registry can also 
  1247. serve as templates for the development of new profiles.
  1248.  
  1249. Editor's Note: The specific details of profile reg-
  1250. istration are currently under development and have 
  1251. not been completed. It is envisioned that the pro-
  1252. file registry could contain three independent reg-
  1253. istration types: (1) the complete protection 
  1254. profiles, (2) functional packages, and (3) assur-
  1255. ance packages. Packages would identify any associ-
  1256. ated dependencies. The registration bodies that 
  1257. approve the inclusion of new protection profiles 
  1258. would also approve the registry of new packages for 
  1259. protection functions and assurance.
  1260.  
  1261. Chapter 4.
  1262.  
  1263. FUNCTIONAL REQUIREMENTS
  1264.  
  1265. 4.1       Overview
  1266.  
  1267. The functional requirements presented in this chapter enable the
  1268. definition of different protection profiles that can be used in
  1269. different environments of IT product use and address different
  1270. threats. These requirements allow protection profile extension and
  1271. refinement, which may become necessary as technology changes and as
  1272. experience is gained. They also enable the harmonization of this
  1273. standard with existing standards, such as the Canadian Trusted
  1274. Computer Product Evaluation Criteria (CTCPEC), the Information
  1275. Technology Security Evaluation Criteria (ITSEC), and the Trusted
  1276. Computer System Evaluation Criteria (TCSEC). Thus, these requirements
  1277. allow the definition of protection profiles that closely capture the
  1278. functional characteristics of IT products evaluated under the existing
  1279. standards.
  1280.  
  1281. The functional requirements defined in this chapter are grouped into
  1282. components of trusted computing bases (TCBs). The TCB is the totality
  1283. of an IT product's elements, comprising the hardware, firmware, and
  1284. software code and data structures responsible for enforcing the
  1285. product's protection functions.  Thus, a functional component is a set
  1286. of requirements levied on either (1) one or more TCB functions that
  1287. can be invoked through the TCB interface (e.g., system call,
  1288. supervisor call) or (2) one or more internal modules or sections of
  1289. code and data structures of a TCB function.
  1290.  
  1291. The functional components defined in this standard are based on the
  1292. premise that the TCB is the only part of the product that needs to be
  1293. analyzed and evaluated to determine the protection characteristics of
  1294. a product. For this reason, this standard need not define more than
  1295. the desirable sets of functional components for TCBs. Since different
  1296. functions of a TCB help counter different threats, the analysis of the
  1297. TCB protection must identify the set of components that collectively
  1298. helps counter a specified set of threats. To make a protection profile
  1299. generally applicable to a wide set of products, the desirable
  1300. components included in a protection profile must be specified in a
  1301. product-independent manner, in terms of generic protection
  1302. requirements, rather than by specific mechanisms that may vary from
  1303. product to product. The threats countered by the TCB functional
  1304. components also must be defined in generic terms rather than by
  1305. specific threat instances that may vary from environment to
  1306. environment.
  1307.  
  1308. The functional components presented in this standard are derived from
  1309. existing security criteria and requirements of commercial and
  1310. non-commercial environments. To address a wide variety of protection
  1311. needs, each functional component is rated based on a set of
  1312. well-defined parameters. This rating is intended to capture the
  1313. desirable variations in the protection merits of component
  1314. requirements. This rating can also help clarify the relationships
  1315. between these requirements and those of existing standards.
  1316.  
  1317. This chapter is divided into four sections. The remainder of this
  1318. section groups the functional components of a TCB into eight classes
  1319. and describes the types of components in each class. The second
  1320. section presents a description of each type of functional component in
  1321. terms of the generic threats and vulnerabilities these components are
  1322. intended to counter or eliminate. The third section presents the rated
  1323. functional components. The last section includes a bibliography of
  1324. useful literature references. (Appendix B presents the reference
  1325. monitor concept and its role in product security, and Appendix C
  1326. presents the components required in defining an access control
  1327. policy.)
  1328.  
  1329. Classes of TCB Functions: Eight classes of TCB functions and
  1330. associated components with distinct protection requirements are
  1331. identified in the Taxonomy of TCB Functions (Figure 4).  These classes
  1332. are: (1) security policy support, (2) reference mediation, (3) TCB
  1333. logical protection, (4) TCB physical protection, (5) TCB
  1334. self-checking, (6) TCB start-up and recovery, (7) TCB privileged
  1335. operation, and (8) TCB ease-of- use. It is important to note that all
  1336. but the first class of the components listed above are sometimes
  1337. considered to be operational assurances. However, a different point of
  1338. view is taken in this standard for two reasons. First, if a protection
  1339. relevant component requires that specific software, hardware, or
  1340. firmware elements (i.e., code, data structures) be part of the TCB,
  1341. then that component implements a necessary protection function, even
  1342. if it only indirectly contributes to the overall protection of the
  1343. product. Second, functional components actively help counter TCB
  1344. external threats or eliminate vulnerabilities, whereas assurance
  1345. components do not. Instead, the assurance components help identify and
  1346. eliminate potential vulnerabilities caused by errors of omission, or
  1347. commission, in TCB development, life cycle maintenance, and operation.
  1348. Therefore, the items in component classes two through eight are
  1349. categorized as functional components instead of operational
  1350. assurances.
  1351.  
  1352. Security Policy Support. This class of components defines four
  1353. functional components for basic security policy support at the
  1354. interfaces of typical TCBs: (1) accountability policy components,
  1355. which include the functional components of identification and
  1356. authentication (I&A), system entry control, trusted path, and audit,
  1357. (2) an access control policy component, (3) availability policy
  1358. components, which include resource allocation and fault tolerance
  1359. components, and (4) security management components. The degree to
  1360. which a product's TCB must implement the requirements of these
  1361. functional components depends upon the threat environment assumed and
  1362. the product's security objectives. Furthermore, the ability of a
  1363. product's TCB to correctly support a set of organizational security
  1364. policies depends jointly on (1) the product policies implemented by
  1365. the TCB functions (e.g., these policies must be consistent with those
  1366. of the organization), (2) the correct operation and input by system
  1367. administrative personnel (e.g., system start-up or recovery must be
  1368. performed properly; the user registration and the system entry
  1369. parameters must be set properly), and (3) the actions of the
  1370. unprivileged users themselves (e.g., choice of passwords, setting of
  1371. an object's default access rights, distribution of access rights).
  1372.  
  1373. Reference Mediation. The requirements of this component ensure that
  1374. all references issued by subjects external to the TCB (i.e.,
  1375. unprivileged subjects) to objects, resources, and services of a
  1376. product are validated by the TCB in accordance with the security
  1377. policies of the product. Satisfying the requirements of this component
  1378. establishes complete reference mediation (i.e., a reference of a
  1379. subject external to the TCB cannot circumvent the security policies of
  1380. the TCB).
  1381.  
  1382. TCB Logical Protection. The requirements of this component ensure that
  1383. at least one domain is available for the TCB's own execution, and that
  1384. the TCB is protected from external interference and tampering (e.g.,
  1385. by modification of TCB code or data structures) by unprivileged
  1386. subjects. Satisfying the requirements of this component makes the TCB
  1387. self-protecting.  Therefore, an unprivileged subject cannot modify or
  1388. damage the TCB.
  1389.  
  1390. Note that the reference mediation and the TCB logical protection
  1391. components include the first two requirements of the reference
  1392. validation mechanism (see Appendix B). These two components, as well
  1393. as the security policy support, are necessary for all protection
  1394. profiles. The strong dependency of these two components on the
  1395. development assurance components is defined by the third requirement
  1396. of the reference validation mechanism (see Chapter 7; Appendix B).
  1397.  
  1398. TCB Physical Protection. The requirements of this component ensure
  1399. that the TCB is either protected from physical tampering and
  1400. interference or operates in a protected environment. Satisfying the
  1401. requirements of this component causes the TCB to be packaged and used
  1402. in such a manner that (1) physical tampering is detectable, or (2)
  1403. resistance to physical tampering is measurable based on defined work
  1404. factors. Without this component, the protection functions of a TCB
  1405. lose their effectiveness in environments where physical damage cannot
  1406. be prevented.
  1407.  
  1408. TCB Self-Checking. The requirements of this component ensure that
  1409. hardware, firmware, or software are available to validate the correct
  1410. operation of the TCB and the consistency of the TCB's protection data
  1411. structures. Satisfying the requirements of this component allows the
  1412. TCB to (1) detect corruption of protection-relevant code and data
  1413. structures resulting from various mechanism failures and (2) initiate
  1414. corrective action. This component is important because, unlike TCB
  1415. protection, corruption of protection-relevant code and data structures
  1416. resulting from mechanism failures can only be detected, not prevented.
  1417.  
  1418. TCB Start-Up and Recovery. The requirements of this component ensure
  1419. that the TCB can determine that the IT product is started without
  1420. protection compromise and can recover without protection compromise
  1421. after a detected failure or other discontinuity. Satisfying the
  1422. requirements of this component establishes that the initial and
  1423. recovered states of a TCB satisfy the security policy, reference
  1424. mediation, and TCB protection requirements. This component is
  1425. important because the start-up TCB state determines the protection of
  1426. subsequent states, and once the corruption of a protection-relevant
  1427. data structure by a failure is detected, TCB recovery action becomes
  1428. necessary.
  1429.  
  1430. TCB Privileged Operation. The requirements of this component ensure
  1431. that TCB functions operate with the fewest privileges necessary to
  1432. accomplish their purpose. Satisfying the requirements of this
  1433. component causes identification of system privileges required by each
  1434. TCB function and the addition of mechanisms that associate these
  1435. privileges with specific TCB functions, modules, or actions. This
  1436. component is important because it helps restrict the propagation of
  1437. errors and failures.
  1438.  
  1439. TCB Ease-of-Use. The requirements of this component enable the use of
  1440. the TCB by users, administrators, and their applications. Satisfying
  1441. the requirements of this component provides (1) fail-safe defaults
  1442. (i.e., defaults that deny access whenever a user or administrator
  1443. fails to specify access to subjects and objects), (2) user-defined
  1444. defaults, (3) well-defined interface conventions, (4) the users'
  1445. ability to reduce their own privileges, and (5) subject, object,
  1446. resource, and service protection in common configurations. Without
  1447. this component, the protection value of the TCB functions is
  1448. diminished since few users and applications would be able to employ
  1449. these functions effectively.
  1450.  
  1451. 4.2       TCB Functional Components
  1452.  
  1453. The TCB functional components are presented in terms of the generic
  1454. threats and vulnerabilities they are intended to counter or eliminate.
  1455. Most protection profiles for IT products based on operating systems
  1456. will include most of the functional components presented in the
  1457. following subsections. Protection profiles for other types of IT
  1458. products may include only some of these components depending upon the
  1459. product's purpose.
  1460.  
  1461. 4.2.1     Security Policy Support
  1462.  
  1463. The focus of information protection within an IT product is to support
  1464. an organization's security policies. This section describes TCB
  1465. functions and associated components (i.e., accountability, access
  1466. control, availability, and security management) that help support
  1467. organizational security policies. The generic functional components
  1468. have been written to be policy neutral (i.e., they are capable of
  1469. supporting a wide variety of protection policies). Specific product
  1470. policies or types of product policies (e.g., policies derived from the
  1471. DoD policy for confidentiality, a hospital's policy for privacy and
  1472. integrity of patient records, or a phone company's policy for
  1473. availability) can be defined by assigning a specific meaning to, or
  1474. refining the generic, policy neutral components. Details of profile
  1475. construction and synthesis of profile components from generic
  1476. components are provided in Chapter 7.
  1477.  
  1478. 4.2.1.1   Accountability Policy
  1479.  
  1480. An IT product that supports accountability policies must include
  1481. functions capable of attributing responsibility for an action to an
  1482. accountable entity (i.e., the identified and authenticated individual
  1483. whose policy attributes may include name, role, group, and/or security
  1484. level). Accountability requirements may be satisfied in a product
  1485. through the use of the following functional components. Identification
  1486. and authentication components establish the authenticity of the
  1487. claimed identity by the user. System entry components provide the
  1488. appropriate time, location, and mode-of-entry context for the user's
  1489. interactions. Trusted path components ensure that nothing can
  1490. interfere with the interactions between the TCB and the authenticated
  1491. user. Audit components ensure that user interactions are recorded and
  1492. attributed to the accountable user identity. Each of these components
  1493. is discussed in more detail in the following subsections.
  1494.  
  1495. 4.2.1.1.1 Identification & Authentication (I&A)
  1496.  
  1497. I&A components specify functional requirements for the TCB to verify
  1498. the claimed identity of individuals attempting system entry.
  1499. Identification and authentication is required to ensure that the
  1500. authenticated users are associated with the proper set of policy
  1501. attributes (e.g., identity, groups, roles, security or integrity
  1502. levels, time intervals, location). Thus, identification and
  1503. authentication enables the TCB to ensure that all individuals entering
  1504. a system and accessing its subjects, objects, and services are
  1505. authorized to do so by the system entry and TCB's protection policy,
  1506. and that the accountability policy can be enforced. In operating
  1507. systems, the I&A functions constitute the main part of the process
  1508. commonly known as "login," with the balance of the process consisting
  1509. of system entry and trusted path functions.
  1510.  
  1511. 4.2.1.1.2 System Entry
  1512.  
  1513. The system entry components specify functional requirements for the
  1514. control of an identified and authenticated user's entry into the
  1515. system. The user's entry into the system typically consists of the
  1516. creation of one or more subjects that execute instructions in the
  1517. system on behalf of the user.  At the end of the system entry
  1518. procedure, provided the system entry conditions are satisfied, the
  1519. created subjects bear the policy attributes determined by the I&A
  1520. functions. System entry conditions can be specified in terms of policy
  1521. attributes such as the user's identity, group or role membership,
  1522. confidentiality and integrity levels, time intervals, location, and
  1523. mode of access.
  1524.  
  1525. The system entry procedure may include warnings about unauthorized
  1526. attempts to gain access to the system. It may also display last login
  1527. data to the user, so that the user can determine whether the previous
  1528. successful login was performed by the user and not by an intruder who
  1529. successfully broke the user's password, for instance. The system entry
  1530. procedure may enable the control of (1) multiple simultaneous user
  1531. logins, (2) locking an interactive session during periods of user
  1532. inactivity, (3) time intervals during authorized user access, and (4)
  1533. location or port of user entry.
  1534.  
  1535. System entry control can help counter threats of inadvertent,
  1536. deliberate, or coerced access performed in an unauthorized manner by
  1537. an authenticated user. For example, the location and time of system
  1538. entry can be constrained in such a way that identified and
  1539. authenticated users located in areas of high exposure (e.g., public
  1540. areas) cannot display sensitive data, enter high-integrity commands,
  1541. or operate outside working hours. Similarly, controlling the mode of
  1542. system entry helps ensure that identified and authenticated users
  1543. cannot remotely start batch computations that would normally require
  1544. the user's attendance.
  1545.  
  1546. 4.2.1.1.3 Trusted Path
  1547.  
  1548. Trusted path components specify functional requirements for ensuring
  1549. that users have direct, unencumbered communication with the TCB. A
  1550. trusted path may be required at login time and at other times during a
  1551. subject session. These trusted path exchanges may be initiated by a
  1552. user during a TCB interaction.  However, a TCB or a trusted
  1553. application request for user input should also allow a user to
  1554. initiate and respond via the trusted path. A user's response via the
  1555. trusted path guarantees that untrusted applications cannot intercept
  1556. and/ or modify the user's response.
  1557.  
  1558. The threats countered by these components are unauthorized discovery
  1559. and/or modification of user-private information associated with
  1560. commands (e.g., login password, sensitivity of the user's actions),
  1561. and modification of commands and command parameters causing incorrect
  1562. user input to the TCB.  Trusted path programs of the TCB may also be
  1563. invoked by trusted applications to ensure correct display of
  1564. information to the user. These programs may also allow the addition of
  1565. trusted application commands to the trusted path so that users could
  1566. communicate securely with these applications.
  1567.  
  1568. Absence of a trusted path may allow breaches of accountability in
  1569. environments where untrusted applications are used. These applications
  1570. can intercept user-private information, such as passwords, and use it
  1571. to impersonate other legitimate users.  As a consequence,
  1572. responsibility for any system actions cannot be reliably assigned to
  1573. an accountable entity. Also, these applications could output erroneous
  1574. information on an unsuspecting user's display. Thus, subsequent user
  1575. actions may be erroneous and may lead to security breaches.
  1576.  
  1577. 4.2.1.1.4 Audit
  1578.  
  1579. The audit components specify requirements for monitoring and, in some
  1580. cases, detecting real or potential violations of security policies in
  1581. organizations that use IT products containing audit functions. These
  1582. functions help monitor the use of access rights by authorized users,
  1583. and act as a deterrent against usage policy violations.
  1584.  
  1585. Auditing involves recognizing, recording, and analyzing user actions
  1586. that are considered, by audit administrators, to be critical to the
  1587. success of an organization's security policy.  The resulting audit
  1588. records can be examined to determine which security-relevant user
  1589. actions took place and who was responsible for them. The audit
  1590. component requirements refer to the basic audit mechanisms, including
  1591. audit data protection, record format and event selection, as well as
  1592. to analysis tools, violation alarms, and real-time intrusion detection
  1593. systems, which use the basic mechanisms.
  1594.  
  1595. Recognition of auditable actions is based largely on administratively
  1596. supplied specifications of user actions and patterns of behavior whose
  1597. appropriateness is considered to be significant to the satisfaction of
  1598. an organization's security policy. The designers of an IT product must
  1599. either anticipate which actions and patterns are likely to be
  1600. considered important to organizations with respect to their security
  1601. policies, or provide an audit interface that allows trusted (and
  1602. possibly other) applications to recognize and pass audit data to the
  1603. TCB. Since the purpose of the audit mechanism is to audit user
  1604. actions, including administrative actions, designers of the audit
  1605. mechanism cannot uniformly assume that all authorized actions are
  1606. appropriate; consequently. some administrative actions must always be
  1607. audited.
  1608.  
  1609. The IT product must record each action that has been deemed auditable
  1610. along with accompanying information needed to un- derstand the
  1611. apparent purpose or effect of that action (e.g., user environment
  1612. variables, programs used to preprocess user input). Recorded audit
  1613. data must be protected by the TCB from inappropriate modification,
  1614. use, or destruction. To avoid re- pudiation, the mechanism by which
  1615. audit data is gathered must be known and reliable. Often this implies
  1616. the use of a trusted communications mechanism. At higher levels of
  1617. assurance, the auditing of key administrative actions should resist
  1618. all at- tacks by remote users and otherwise undetectable attacks by
  1619. users with access to the physical audit media (e.g., through the use
  1620. of write-once audit disks).
  1621.  
  1622. Finally, audit data must be available for analysis in a timely manner
  1623. and in a useful format, within policy constraints established for the
  1624. product. This requirement motivates the design of pre- and
  1625. post-processing software that organizes audit data into a presentable
  1626. format and/or delivers it to authorized users or processes acting on
  1627. their behalf.
  1628.  
  1629. 4.2.1.2   Access Control Policy
  1630.  
  1631. The access control objectives of organizational security policies can
  1632. be divided into two classes, namely confidentiality and integrity.
  1633. These objectives determine whether the organization intends to prevent
  1634. unauthorized disclosure or unauthorized modification and destruction
  1635. of information. Often, organizational security policies include both
  1636. confidentiality and integrity objectives to varying degrees. These
  1637. policies reflect both security and system management goals that should
  1638. be satisfied by multiple IT products.
  1639.  
  1640. The extent to which an IT product's access control policy supports
  1641. high-level system and organizational security policy objectives varies
  1642. from product to product. Few commercial products are designed to
  1643. support a single specific organizational policy. Instead, commercial
  1644. products implement either low-level access control policies that can
  1645. be tailored to support high-level organizational policies or multiple
  1646. organizational policies that could be individually instantiated on a
  1647. system basis. For example, some products implement both the DoD
  1648. mandatory confidentiality policy (as modeled by Bell & LaPadula) and a
  1649. mandatory integrity policy (as modeled by Biba). When using such IT
  1650. products in environments where only the mandatory integrity policy
  1651. needs to be enforced, the DoD mandatory confidentiality policy could
  1652. be deconfigured (e.g., all authorization checks for DoD mandatory
  1653. confidentiality would pass and all options for displaying, or
  1654. requesting, confidentiality levels would be disabled). Similarly,
  1655. other organizational policies, such as the role-based access control
  1656. policies, could be configured in a product when the environment of
  1657. product use makes it necessary.
  1658.  
  1659. The access control policies in this section are IT product policies
  1660. implemented by TCB functional components and are distinguished from
  1661. the higher level system and organizational security policies, which
  1662. generally use product policies to help achieve the higher level
  1663. security objectives. Product access control policies are designed to
  1664. counter generic threats. These policies traditionally have been
  1665. classified as discretionary or non-discretionary, depending upon
  1666. whether the access control decisions regarding an object are primarily
  1667. based on actions of the unprivileged user and/or subject that created
  1668. the object or primarily based on administrative actions. Access
  1669. control policies of many products combine both discretionary and
  1670. non-discretionary policies to counter different types of threats and
  1671. eliminate various vulnerabilities.
  1672.  
  1673. 4.2.1.2.1 Discretionary Access Control Policies
  1674.  
  1675. The generic threats addressed by discretionary access control policies
  1676. are those of unauthorized access, propagation or retention of access
  1677. rights to user's objects, and unauthorized creation or destruction of
  1678. subjects and objects.  Discretionary access controls enable users and
  1679. applications to protect their objects from unauthorized access by
  1680. other users and applications. These controls are effective, provided
  1681. that malicious code is not introduced and used by a user or on behalf
  1682. of a user.
  1683.  
  1684. Discretionary access control policies cannot counter and are not
  1685. intended to address several generic threats and vulnerabilities such
  1686. as Trojan horse or virus propagation within a user application. This
  1687. is because these policies have traditionally imposed very few
  1688. restrictions on object sharing. Most commercially available IT
  1689. products that support only discretionary policies could not adequately
  1690. control or confine the actions of a Trojan horse or a virus within an
  1691. application. Furthermore, discretionary policies are not intended to
  1692. control the flow of information between a subject and/or object to
  1693. system variables that do not represent subjects and/or objects (e.g.,
  1694. internal variables of an operating system). Consequently, the use of
  1695. covert channels is a threat that cannot be countered by any
  1696. discretionary access control policy.
  1697.  
  1698. Discretionary access controls are also not intended to prevent
  1699. surrogate access to objects. As a typical example of surrogate access,
  1700. consider an object's owner who allows user A, but not user B, to read
  1701. the contents of one of the owner's objects.  However, the object owner
  1702. cannot exercise any control over user A's discretion on how to use the
  1703. object contents. User A can transfer the contents of the owner's
  1704. object to user B in an authorized manner via the interprocess
  1705. communication facilities; or user A may simply copy the contents of
  1706. the owner's object into another object shared with user B. The object
  1707. owner cannot control user A's legitimate discretionary communications
  1708. with user B, and thus, the object owner cannot control the flow of
  1709. data to and from the object caused by user A on behalf of user B.
  1710.  
  1711. A range of discretionary policies have been used by various IT
  1712. products to satisfy different protection requirements.  These policies
  1713. range from those where the owner (creator or controller) of an object
  1714. (and an application running on the owner's behalf) has complete
  1715. control over who can access that object to those where any possessor
  1716. of an access right to an object can freely distribute that access
  1717. right to, and subsequently revoke it from, other users and
  1718. applications.
  1719.  
  1720. Generic threats to access control not countered by discretionary
  1721. access controls are intended to be countered by non-discretionary
  1722. access controls. These non-discretionary access control policies are
  1723. discussed in the next section.
  1724.  
  1725. 4.2.1.2.2 Non-Discretionary Access Control Policies
  1726.  
  1727. Non-discretionary access control policies are intended to counter
  1728. threats posed by malicious code (e.g., Trojan horses or virus codes)
  1729. within application programs, by surrogate subjects, and in general, to
  1730. counter both unauthorized access to objects and unauthorized flow of
  1731. information between subjects and objects, not just unauthorized
  1732. propagation of access rights. An IT product that provides
  1733. non-discretionary access control can confine the effects of malicious
  1734. code and the flow of information between subjects and objects as
  1735. specified by system administrators. In general, non- discretionary
  1736. controls are specified by security administrators and cannot be
  1737. changed over time by unprivileged subjects. Thus, the unprivileged
  1738. subject's discretion as to whether an object can be accessed is
  1739. limited by administrative controls. Also, an unprivileged user can
  1740. only exercise very limited access-control discretion. By selecting
  1741. certain policy attributes from the attribute sets defined by
  1742. administrators (e.g., role, session security level), the user selects
  1743. the access control attributes for subjects created for him/her to run
  1744. external to the TCB. Non-discretionary policies allow the basis for
  1745. determining whether a subject could have access to an object based
  1746. exclusively on the subject's and the object's non-discretionary policy
  1747. attributes. In this sense, non-discretionary access controls can
  1748. confine user and application program activity.
  1749.  
  1750. Unlike discretionary access controls, which typically do not offer
  1751. separate and explicit support for specific confidentiality and
  1752. integrity policies beyond distinguishing between attributes for
  1753. reading and writing objects, non- discretionary controls can
  1754. demonstrate support for high-level organizational policies. This is
  1755. due, in part, to the central (organizational) role played by system
  1756. administrators in the control of access authorization and object
  1757. sharing, as opposed to discretionary policies where individual object
  1758. creators, not system administrators, play this access authorization
  1759. and object-sharing-control role.
  1760.  
  1761. Various non-discretionary access control policies have been used in
  1762. different products. These policies range from the DoD mandatory
  1763. policies used to protect the confidentiality of classified documents
  1764. to separation of role and separation of duty policies intended to
  1765. protect the integrity of databases.  Also, some products have a
  1766. capability to enforce both non- discretionary confidentiality and
  1767. integrity controls on the same or different sets of subjects and
  1768. objects.
  1769.  
  1770. Both non-discretionary confidentiality and integrity policies may, or
  1771. may not, adequately control the flow of information and the use of
  1772. covert channels. Not all non-discretionary policies are aimed at
  1773. controlling the use of covert channels.  Should covert channels be
  1774. considered a threat, however, both non-discretionary confidentiality
  1775. and integrity policies require measures of covert channel handling.
  1776. These measures are discussed in the next section.
  1777.  
  1778. 4.2.1.2.3 Covert Channel Handling
  1779.  
  1780. Covert-channel handling components include both technical requirements
  1781. (e.g., elimination, bandwidth reduction to acceptable levels,
  1782. deterrence of use by auditing covert storage channels), and
  1783. administrative or environmental requirements (e.g., exclusive use of
  1784. trusted software by trusted users in environments where all
  1785. unauthorized information flow must be prevented).
  1786.  
  1787. Covert-channel elimination requires that the design and/or
  1788. implementation of a system be changed so that covert channels are
  1789. removed from the product. These changes include (1) the elimination of
  1790. resource sharing between any subjects that could take part in covert
  1791. channel use by preallocating maximum resource demands to all such
  1792. subjects or by partitioning resources on a per-subject basis, and (2)
  1793. the elimination of interfaces, features, and mechanisms which can
  1794. cause covert leakage. Since covert-channel elimination may be
  1795. impractical for some channels, other handling functions may be useful
  1796. in a TCB (e.g., bandwidth limitation functions).
  1797.  
  1798. Covert-channel bandwidth limitation requires that the maximum, or
  1799. alternatively, the average bandwidth of any channel be reduced to a
  1800. limit deemed acceptable in the environment of product use. In
  1801. sensitive applications, bandwidth limitation may require that the
  1802. aggregated (i.e., combined) bandwidth of a product's covert channels
  1803. be reduced to an acceptable value. Bandwidths can be limited by (1)
  1804. deliberate introduction of noise in TCB functions used to exploit the
  1805. channels (e.g., use of random allocation algorithms for shared
  1806. resources such as indexes in shared tables, disk areas, and process
  1807. identifiers, or introduction of extraneous processes that modify
  1808. covert channel variables of a TCB in pseudo-random patterns), or (2)
  1809. deliberate introduction of delays in each TCB primitive of a real
  1810. channel.
  1811.  
  1812. Covert-channel auditing is a primary method used to discourage the use
  1813. of covert channels. This method assumes that the frequent use of a
  1814. channel can be unambiguously detected by audit mechanisms. Some covert
  1815. channels preclude the use of channel audit, elimination, and bandwidth
  1816. limitation methods.  These channels typically include the timing
  1817. channels that arise from hardware-resource sharing (e.g., shared
  1818. busses, processor caches). Furthermore, in some environments, the
  1819. threat analysis may indicate that any use of covert channels cannot be
  1820. tolerated. However, in most commercial products it is impractical to
  1821. eliminate all covert channels. If such products are used in such
  1822. non-tolerant environments, the effect of covert-channel use must be
  1823. neutralized. This could be done by the exclusive use of trusted
  1824. product and application software. In such cases, evidence must be
  1825. provided to justify that the exclusive use of trusted application
  1826. software is sufficient to render the existing covert channels
  1827. ineffective.
  1828.  
  1829. 4.2.1.3   Availability Policy
  1830.  
  1831. An IT product which supports availability policies must provide
  1832. protection functions capable of controlling the availability of the
  1833. product subjects, objects, resources, and services. Availability
  1834. components refer to policies for prevention, detection, and recovery
  1835. from unauthorized denial of service caused by unprivileged subjects.
  1836. These components also refer to the use of redundancy and recovery from
  1837. lack of availability caused by TCB failures. Because subjects and
  1838. objects are represented by, and consume, system resources such as
  1839. primary memory and disk space, CPU time, and shared TCB internal
  1840. tables and objects, the allocation of these resources must be
  1841. controlled to allow policy-ensured accesses to take place.
  1842.  
  1843. A product that controls the availability of subjects, objects, and
  1844. services may include TCB functions that prevent denial of service and
  1845. provide fault tolerance. The needed availability functions of a TCB
  1846. may include resource allocation containment and fault tolerant
  1847. services.
  1848.  
  1849. 4.2.1.3.1 Resource Allocation
  1850.  
  1851. Resource allocation functions allow the TCB to control the use of
  1852. product resources by users and subjects such that denial of service
  1853. will not take place. Denial-of-service protection can be provided by
  1854. containing resource allocations in time and space, or by establishing
  1855. priority-based allocations.
  1856.  
  1857. Resource allocation rules may allow the creation of quotas or other
  1858. means of defining limits on the amount of resource space or time that
  1859. may be allocated on behalf of a specific user, process, or task. These
  1860. rules may provide for object quotas that constrain the number and/or
  1861. size of objects a specific user may allocate. Resource allocation
  1862. rules may control the allocation/deallocation of pre-assigned resource
  1863. blocks where these blocks are defined under the control of the TCB.
  1864. Under these rules, subjects and objects are assigned allocation
  1865. attributes so that the TCB can enforce appropriate quotas.  Finally,
  1866. resource allocation rules may prioritize subject access to resources
  1867. so that subjects with the highest priorities are given preferential
  1868. access to these resources.
  1869.  
  1870. 4.2.1.3.2 Fault Tolerance
  1871.  
  1872. TBD.
  1873.  
  1874. 4.2.1.4   Security Management
  1875.  
  1876. The TCB of an IT product must support security management components
  1877. to enable administrative users to set up and control the secure
  1878. operation of the product. These components refer to TCB functions
  1879. associated with both administrator and operator roles, and have both
  1880. access control, audit, and availability relevance.
  1881.  
  1882. Security management components refer to the following types of
  1883. functions:
  1884.  
  1885. a.        TCB generation, installation, configuration, and non- routine
  1886. maintenance (e.g., TCB manual recovery, installation of "patches"
  1887. correcting security flaws, repair of damaged TCB hardware and software
  1888. elements).
  1889.  
  1890. b.        Definition and update of user security characteristics (e.g.,
  1891. unique identifiers associated with user names, user accounts, per-user
  1892. policy attributes, system entry parameters, availability parameters or
  1893. resource quotas).
  1894.  
  1895. c.        Definition and update of security policy parameters (e.g.,
  1896. identification and authentication, system entry, access control, and
  1897. availability parameters).
  1898.  
  1899. d.        Routine control and maintenance of product resources (e.g.,
  1900. enable and disable peripheral devices, mounting of removable storage
  1901. media, backup and recovery of user objects, and routine maintenance of
  1902. TCB hardware and software elements).
  1903.  
  1904. e.        Auditing both privileged and unprivileged user actions, and
  1905. audit management (e.g., selection of audit events, management of audit
  1906. trails, audit trail analysis, and audit report generation).
  1907.  
  1908. The security management functions help counter the same threats as
  1909. those countered by the security policy functions (i.e.,
  1910. accountability, access control, and availability).  This is the case
  1911. because the security management functions implement a significant part
  1912. of all the system security policies. In addition, when the security
  1913. management functions are partitioned into different administrative
  1914. roles, they help limit the potential damage caused by unskilled or
  1915. corrupt administrators.
  1916.  
  1917. 4.2.2     Reference Mediation
  1918.  
  1919. Functions that implement a security policy provide effective
  1920. protection against unauthorized access only if all references (i.e.,
  1921. denoted by <action; object(s) > tuples) issued by subjects are
  1922. directed by the TCB code to the appropriate security policy modules
  1923. for validation. Should such references be incorrectly directed, or not
  1924. directed at all, to the required policy modules, policy enforcement
  1925. will be incorrect, incomplete, or absent, despite correct and complete
  1926. policy implementation. This would allow unprivileged subjects to
  1927. bypass security policy in a variety of unauthorized ways (e.g., bypass
  1928. certain access checks for a subset of the objects and subjects, bypass
  1929. all checks for a type of object whose protection was assumed by
  1930. applications, retain access rights beyond their intended expiration
  1931. time, and/or bypass audit).
  1932.  
  1933. Note that the requirements of the reference mediation component are
  1934. independent of the particular policies supported by a product.
  1935.  
  1936. 4.2.3     TCB Logical Protection
  1937.  
  1938. The protection of the TCB from external interference and tampering is
  1939. a fundamental component of any secure product.  Should unprivileged
  1940. subjects read or modify TCB elements (i.e., data structures and code),
  1941. the security policy might be circumvented or even modified in
  1942. potentially undetectable ways.
  1943.  
  1944. The reading of TCB internal variables, that is, variables that are not
  1945. part of any defined subject or object (e.g., internal TCB buffers,
  1946. table entries), would not be addressed by low- level product policies
  1947. defined solely in terms of subjects and objects. In this case, reading
  1948. by users or subjects outside the TCB would not be prohibited, even
  1949. though it could result in failure to support the organizational
  1950. policies. Similarly, modification of TCB internal variables may cause
  1951. (1) the introduction of miscreant code into the TCB, which can modify
  1952. product policies, (2) the modification of user and application-level
  1953. objects that depend on the consistency of the TCB internal variables,
  1954. (3) denial of service to users and applications, and/or (4) covert
  1955. transfer of information through the TCB in violation of
  1956. information-flow policy.  Unauthorized acquisition of privileges might
  1957. allow the reading and modification of TCB internal variables and
  1958. objects (e.g., password files, group and/or role definition files,
  1959. files defining security and/or integrity levels) and might allow
  1960. unprivileged users to execute privileged functions.
  1961.  
  1962. To provide TCB isolation, all references to TCB internal entities and
  1963. all access rights passed by unprivileged subjects to the TCB must be
  1964. mediated in a non-circumventable manner.  This particular form of
  1965. mediation is not specified as an access mediation requirement because
  1966. a cyclic dependency would be introduced between access mediation and
  1967. TCB protection. This is the case because the correct reference
  1968. mediation depends on TCB protection (see discussion in Chapter 7,
  1969. "Construction of Protection Profiles").
  1970.  
  1971. 4.2.4     TCB Physical Protection
  1972.  
  1973. TCB physical protection components refer to restrictions of
  1974. unauthorized physical access to the TCB, and to deterrence of
  1975. unauthorized physical use, modification, or substitution of the TCB.
  1976.  
  1977. 4.2.5     TCB Self-Checking
  1978.  
  1979. TCB self-checking functions are needed to detect the corruption of
  1980. protection-relevant code and data structures by various failures that
  1981. do not necessarily stop the product's operation (which would be
  1982. handled by TCB recoverability).  These checks must be performed
  1983. because these failures may not necessarily be prevented. Such failures
  1984. can occur either because of unforeseen failure modes and associated
  1985. oversights in the design of hardware, firmware, or software, or
  1986. because of malicious corruption of the TCB due to inadequate physical
  1987. TCB protection.
  1988.  
  1989. 4.2.6     TCB Start-Up and Recovery
  1990.  
  1991. TCB recovery components refer to the functions that respond to
  1992. anticipated failures or discontinuity of operations. These functional
  1993. components cannot handle "unanticipated" failures or discontinuity of
  1994. operation, and manual administrative procedures must be employed for
  1995. such events.
  1996.  
  1997. Recovery components reconstruct TCB secure states or prevent
  1998. transitions to insecure states as a direct response to occurrences of
  1999. expected failures, discontinuity of operation or start-up. Failures
  2000. that must be generally anticipated include (1) actions failures (e.g.,
  2001. actions that fail to complete because they detect exceptional
  2002. conditions during their operation); (2) unmaskable action failures
  2003. that always cause a system crash (e.g., persistent inconsistency of
  2004. critical system tables, uncontrolled transfers within TCB code caused
  2005. by transient failures of hardware or firmware, power failures,
  2006. processor failures); (3) non-volatile media failures causing part or
  2007. all of the media representing TCB objects to become inaccessible or
  2008. corrupt (e.g., disk head crash, persistent read/write failure caused
  2009. by misaligned disk heads, worn-out magnetic coating, dust on the disk
  2010. surface); and (4) discontinuity of operation caused by erroneous
  2011. administrative action or lack of timely administrative action (e.g.,
  2012. unexpected shutdowns by turning off power, ignoring the exhaustion of
  2013. critical resources, inadequate installed configuration).
  2014.  
  2015. 4.2.7     TCB Privileged Operation
  2016.  
  2017. Functions that limit the privileges available to the TCB are primarily
  2018. intended to limit the damage that can be caused by errors and failures
  2019. of TCB mechanisms. To accomplish this, it is necessary to limit the
  2020. interactions among privileged TCB components to a minimum such that
  2021. improper use of privileges by a TCB function, module, or action as a
  2022. consequence of failures or accidents will have limited or no effect on
  2023. other components. For example, the association of privileges with
  2024. different administrative commands facilitates the separation of
  2025. administrative roles. Similarly, the association of different
  2026. privileges with TCB components that have no functional interaction,
  2027. such as audit trail and password management components, limits the
  2028. possibility of unwarranted interaction. As a consequence, if a
  2029. penetration of a component takes place, the likelihood that other
  2030. unrelated components are also penetrated may be diminished. The finer
  2031. the granularity of privileges and of privilege association with TCB
  2032. functional components, actions of components, and administrative
  2033. roles, the less chance of damage caused by errors, failures,
  2034. accidents, and penetrations.
  2035.  
  2036. 4.2.8     TCB Ease-of-Use
  2037.  
  2038. The notion that an IT product must include functions which facilitate
  2039. and enhance the use of basic protection mechanisms is motivated by two
  2040. related observations. First, if a product's protection mechanisms are
  2041. complex, difficult to use, or have inadequate performance, they will
  2042. not be used by system administrators or by application programmers.
  2043. The mere presence of (potentially elaborate) security policies in a
  2044. product is insufficient to facilitate the development or use of secure
  2045. applications and the secure management of a product.  An IT product
  2046. may still be vulnerable to inadvertent errors caused by difficulties
  2047. in using the product's protection functions. Second, functions that
  2048. facilitate and enhance the use of basic protection mechanisms may be
  2049. difficult to retrofit into a product because of their pervasiveness.
  2050. Instead, to be effective, these components must be included in the
  2051. initial product design.
  2052.  
  2053. 4.3       Rated Functional Components
  2054.  
  2055. Functional components can be selected for inclusion in a profile based
  2056. on environment-specific requirements (see Chapter 3). To facilitate
  2057. this selection and compatibility with existing criteria, each of the
  2058. functional components of a TCB is rated. The rating of the TCB
  2059. functional components is based on the following four parameters: (1)
  2060. the scope of the requirement application, (2) the granularity of the
  2061. requirement, (3) the coverage of a requirement's features, and (4) the
  2062. strength of the requirement.
  2063.  
  2064. Scope. The scope of a requirement determines the entity subset to
  2065. which the requirement applies; i.e., (1) to all the users, subjects
  2066. and objects, (2) to all the TCB functions and application programming
  2067. interfaces, (3) to all TCB elements (i.e., hardware, firmware,
  2068. software, data structures and code), and (4) to all TCB
  2069. configurations, or only to a defined subset thereof. For example, the
  2070. access control, audit, availability, reference mediation, and
  2071. ease-of-use components may refer only to certain subsets of objects
  2072. and configurations; trusted path may include only certain subsets of
  2073. the TCB commands (only login commands but not change-of- password
  2074. commands or change-role commands); and the recovered secure state of
  2075. the TCB may include all the user objects or only a defined set.
  2076.  
  2077. Granularity. The granularity of a requirement determines the
  2078. entity-attribute subset to which the requirement applies (e.g.,
  2079. whether the requirement applies to all attributes of users, subjects
  2080. or objects, or only to a defined subset of attributes). Access
  2081. control, audit, and reference mediation may include only certain
  2082. attributes of subjects and objects, but not others. For example,
  2083. access control, audit, and reference mediation may refer to access
  2084. rights for objects and subjects, but not to object and subject status
  2085. variables; authentication may be based on group or role identities,
  2086. but not on individual user identity; privileges may be associated with
  2087. roles, but not with individual TCB functions or actions (e.g.,
  2088. function invocations).
  2089.  
  2090. Coverage. The coverage of a requirement determines the feature subset
  2091. included in that requirement. This is illustrated in the following
  2092. examples:
  2093.  
  2094. a.        Access control may include only discretionary features of
  2095. authorization, administration of policy attributes (e.g., user
  2096. identities, groups, security and/or integrity levels, roles), and
  2097. object and/or subject creation and destruction, but not encapsulation.
  2098.  
  2099. b.        Audit may include only post-processing analysis tools for
  2100. detecting accumulation of events (e.g., multiple failed logins) but
  2101. not real-time alarms.
  2102.  
  2103. c.        Availability may include resource restrictions but not
  2104. prioritized resource allocation.
  2105.  
  2106. d.        TCB protection may include only isolation features but not TCB
  2107. consistency features.
  2108.  
  2109. e.        Physical TCB protection may include only attack detection and
  2110. deterrence features, but not attack countermeasures.
  2111.  
  2112. f.        TCB self-checking may be periodical or continuous.
  2113.  
  2114. g.        Recovery may be only manual, not automatic.
  2115.  
  2116. h.        The ease-of-use mechanisms may include administrative and
  2117. application programming support features but may not minimize
  2118. performance penalties of using them.
  2119.  
  2120. Strength. The strength of a requirement supported by a function
  2121. defines the conditions under which that function withstands a defined
  2122. attack or tolerates failures. For example, the user authentication
  2123. function may withstand certain kinds of impersonation attacks but not
  2124. others (e.g., the password complexity rules may counter human guessing
  2125. attacks but not automated attacks using a dictionary). Other examples
  2126. include conditions in which conjunction of independent user
  2127. authentication mechanisms yields stronger authentication than the use
  2128. of either mechanism alone, or a certain encryption mechanism for
  2129. one-way function computation may have different work factor
  2130. characteristics than other encryption mechanisms. Similarly, the TCB
  2131. physical protection characteristics may vary according to different
  2132. work factor characteristics.
  2133.  
  2134. The strength of a requirement may also be used to differentiate access
  2135. control policies. For example, non- discretionary access controls are
  2136. typically stronger than discretionary access controls with respect to
  2137. their ability to counter attacks mounted by miscreant application code
  2138. executing programs on behalf of an unsuspecting user. However, this
  2139. notion of strength is not used to rate individual access control
  2140. components. Instead, it is used in the analysis of the protection
  2141. profiles (i.e., in assessing whether a chosen access control policy
  2142. can counter specific threats).
  2143.  
  2144. Rating implies some form of ordering. The independent application of
  2145. the scope, granularity, coverage, and strength parameters to
  2146. distinguish between the levels of functional components may not
  2147. necessarily lead to a linear ordering among these levels. To obtain
  2148. such an ordering these rating parameters are applied in the order in
  2149. which they are listed above. Whenever all rating parameters apply to a
  2150. given functional component, lower levels are distinguished by scope
  2151. and granularity and higher levels by coverage and strength.  However,
  2152. this ordering of the rating parameters does not imply that each
  2153. component level represents a component extension resulting from the
  2154. application of a single rating parameter.  Instead, a component level
  2155. change may represent a component extension resulting from the
  2156. application of several rating parameters characterizing the intent of
  2157. a functional component (e.g., support of a specific policy,
  2158. compatibility with existing standards and guidelines).
  2159.  
  2160. The above parameters and ordering are chosen to enable the rating of
  2161. functional components at levels of detail comparable to those of
  2162. existing standards (e.g., TCSEC, CTCPEC, ITSEC), thereby enabling
  2163. potential harmonization with these standards. However, the rating of
  2164. functional components does not restrict a profile developer to the
  2165. choices of rated components presented. As illustrated in Chapter 7, a
  2166. profile developer can synthesize new components from existing ones
  2167. (e.g., by assigning a specific meaning to a generic requirement, by
  2168. refining a requirement of a component, by augmenting a lower rated
  2169. component with an individual requirement of a higher rated component)
  2170. within the constraints of dependency analysis.
  2171.  
  2172. The means of rating each component are summarized in Table 2.
  2173.  
  2174.                Table 2. Rated Functional Components
  2175.  
  2176. .--------------------------------------------------------------------------.
  2177. |                                     |       | Granu- | Cover- |          |
  2178. |       Functional Component          | Scope | larity | age    | Strength |
  2179. |=====================================|=======|========|========|==========|
  2180. | Security Policy Support             |       |        |        |          |
  2181. |-------------------------------------+-------+--------+--------+----------|
  2182. |   Accountability                    |       |        |        |          |
  2183. |-------------------------------------+-------+--------+--------+----------|
  2184. |     Identification & Authentication |       |        |   X    |    X     |
  2185. |-------------------------------------+-------+--------+--------+----------|
  2186. |     System Entry                    |       |        |   X    |          |
  2187. |-------------------------------------+-------+--------+--------+----------|
  2188. |     Trusted Path                    |   X   |        |   X    |          |
  2189. |-------------------------------------+-------+--------+--------+----------|
  2190. |     Audit                           |       |        |   X    |    X     |
  2191. |-------------------------------------+-------+--------+--------+----------|
  2192. |   Access Control                    |   X   |    X   |   X    |          |
  2193. |-------------------------------------+-------+--------+--------+----------|
  2194. |   Covert Channel Handling           |   X   |        |   X    |          |
  2195. |-------------------------------------+-------+--------+--------+----------|
  2196. |   Availability                      |       |        |        |          |
  2197. |-------------------------------------+-------+--------+--------+----------|
  2198. |     Resource Allocation             |   X   |        |   X    |          |
  2199. |-------------------------------------+-------+--------+--------+----------|
  2200. |     Fault Tolerance                 |  ---  |   ---  |  ---   |   ---    |
  2201. |-------------------------------------+-------+--------+--------+----------|
  2202. |   Security Management               |       |        |   X    |    X     |
  2203. |-------------------------------------+-------+--------+--------+----------|
  2204. | Reference Mediation                 |   X   |    X   |   X    |          |
  2205. |-------------------------------------+-------+--------+--------+----------|
  2206. | TCB Logical Protection              |       |        |   X    |          |
  2207. |-------------------------------------+-------+--------+--------+----------|
  2208. | TCB Physical Protection             |       |        |   X    |    X     |
  2209. |-------------------------------------+-------+--------+--------+----------|
  2210. | TCB Self-checking                   |   X   |        |   X    |          |
  2211. |-------------------------------------+-------+--------+--------+----------|
  2212. | TCB Start-up and Recovery           |       |        |   X    |          |
  2213. |-------------------------------------+-------+--------+--------+----------|
  2214. | TCB Privileged Operation            |       |    X   |        |          |
  2215. |-------------------------------------+-------+--------+--------+----------|
  2216. | TCB Ease-of-Use                     |   X   |        |   X    |          |
  2217. `--------------------------------------------------------------------------'
  2218.  
  2219.  
  2220. 4.3.1     Rated Identification & Authentication Components
  2221.  
  2222. Identification and authentication is a required component for most
  2223. security policies. Without this component, the threat of unauthorized
  2224. or inappropriate system entry and access to resources could not be
  2225. countered. However, weak identification and authentication functions
  2226. could not counter the threat of impersonation attacks by unauthorized
  2227. users. For this reason, identification and authentication components
  2228. are noted based on both the coverage and strength of the
  2229. authentication features. Furthermore, the combined use of more than
  2230. one type of authentication can provide greater control over
  2231. unauthorized access.
  2232.  
  2233. The features covered at level I&A-1 include only minimal forms of
  2234. individual user authentication. This level of I&A is intended for use
  2235. in products with limited capabilities, such as automated guards, where
  2236. basic I&A and system-entry audit are the primary functions supported.
  2237. In contrast, the features of level I&A-2 include policy attributes
  2238. that are determined on an individual basis, thereby providing basic
  2239. authorization. The use of this level is anticipated in most operating
  2240. systems where policy attributes, such as groups and security levels,
  2241. need to be authenticated for system entry.  Level I&A-3 extends the
  2242. feature coverage of level I&A-2 by providing a well-defined set of
  2243. responses to authentication exceptions and a capability to maintain,
  2244. protect and display user status information. The use of this level is
  2245. anticipated to include products with well-defined access control and
  2246. availability policies as well as system-entry control. The level I&A-4
  2247. extends the feature coverage of level I&A-3 by requiring that
  2248. installable mechanisms be supported, and that a policy be enforced
  2249. that assigns a specific authentication procedure to each user, or to a
  2250. policy attribute of each user.  Level I&A-5 strengthens level I&A-4 by
  2251. requiring that two or more identification and authentication
  2252. mechanisms authenticate certain user identities or other policy
  2253. attributes.
  2254.  
  2255. I&A-1 Minimal Identification and Authentication
  2256.  
  2257. 1.        The TCB shall require users to identify themselves to it
  2258. before beginning to perform any other actions that the TCB is expected
  2259. to mediate.  The TCB shall be able to enforce individual
  2260. accountability by providing the capability to uniquely identify each
  2261. individual user. The TCB shall also provide the capability of
  2262. associating this identity with all auditable actions taken by that
  2263. individual.
  2264.  
  2265. 2.        The TCB shall use a protected mechanism (e.g., passwords) to
  2266. authenticate the user's identity.
  2267.  
  2268. 3.        The TCB shall protect authentication data so that it cannot be
  2269. used by any unauthorized user.
  2270.  
  2271. I&A-2 Identification, Authentication, and Authorization
  2272.  
  2273. 1.        The TCB shall require users to identify themselves to it
  2274. before beginning to perform any other actions that the TCB is expected
  2275. to mediate.  The TCB shall be able to enforce individual
  2276. accountability by providing the capability to uniquely identify each
  2277. individual user. The TCB shall also provide the capability of
  2278. associating this identity with all auditable actions taken by that
  2279. individual.
  2280.  
  2281. 2.        The TCB shall maintain authentication data that includes
  2282. information for verifying the identity of individual users (e.g.,
  2283. passwords) as well as information for determining the product policy
  2284. attributes of individual users (e.g., groups, roles, security and/or
  2285. integrity levels, time intervals, location). These data shall be used
  2286. by the TCB to authenticate the user's identity and to ensure that the
  2287. attributes of subjects external to the TCB that may be created to act
  2288. on behalf of the individual user satisfy the product policy (e.g., the
  2289. subject security level and authorizations are dominated by the
  2290. clearance and authorization of that user).
  2291.  
  2292. 3.        The TCB shall protect authentication data so that it cannot be
  2293. used by any unauthorized user.
  2294.  
  2295. I&A-3 Exception-Controlled Identification and Authentication
  2296.  
  2297. 1.        The TCB shall require users to identify themselves to it
  2298. before beginning to perform any other actions that the TCB is expected
  2299. to mediate.  The TCB shall be able to enforce individual
  2300. accountability by providing the capability to uniquely identify each
  2301. individual user. The TCB shall also provide the capability of
  2302. associating this identity with all auditable actions taken by that
  2303. individual.
  2304.  
  2305. 2.        The TCB shall maintain authentication data that includes
  2306. information for verifying the identity of individual users (e.g.,
  2307. passwords) as well as information for determining the product policy
  2308. attributes of individual users (e.g., groups, roles, security and/or
  2309. integrity levels, time intervals, location). These data shall be used
  2310. by the TCB to authenticate the user's identity and to ensure that the
  2311. attributes of subjects external to the TCB that may be created to act
  2312. on behalf of the individual user satisfy the product policy (e.g., the
  2313. subject security level and authorizations are dominated by the
  2314. clearance and authorization of that user).
  2315.  
  2316. 3.        The TCB shall protect authentication data so that it cannot be
  2317. used by any unauthorized user.  The TCB shall appear to perform the
  2318. entire user authentication procedure even if the user identification
  2319. entered is invalid.
  2320.  
  2321. The TCB shall end the attempted login session if the user performs the
  2322. authentication procedure incorrectly for a number of successive times
  2323. (i.e., a threshold) specified by an authorized system administrator. A
  2324. default threshold shall be defined. When the threshold is exceeded,
  2325. the TCB shall send an alarm message to the system console and/or to
  2326. the administrator's terminal, log this event in the audit trail, and
  2327. delay the next login by an interval of time specified by the
  2328. authorized system administrator. A default time interval shall be
  2329. defined. The TCB shall provide a protected mechanism to disable the
  2330. user identity or account when the threshold of successive,
  2331. unsuccessful login attempts is violated more than a number of times
  2332. specified by the administrator.  By default, this mechanism shall be
  2333. disabled (as it may cause unauthorized denial of service).
  2334.  
  2335. 4.        The TCB shall have the capability to maintain, protect, and
  2336. display status information for all active users (e.g., users currently
  2337. logged on, current policy attributes) and of all user accounts (i.e.,
  2338. enabled or disabled user identity or account).
  2339.  
  2340. I&A-4 Installable I&A Mechanisms
  2341.  
  2342. 1.        The TCB shall require users to identify themselves to it
  2343. before beginning to perform any other actions that the TCB is expected
  2344. to mediate.  The TCB shall be able to enforce individual
  2345. accountability by providing the capability to uniquely identify each
  2346. individual user. The TCB shall also provide the capability of
  2347. associating this identity with all auditable actions taken by that
  2348. individual. Furthermore, the TCB shall have the capability of
  2349. associating a unique identity with each privileged subject.
  2350.  
  2351. 2.        The TCB shall maintain authentication data that includes
  2352. information for verifying the identity of individual users (e.g.,
  2353. passwords) as well as information for determining the product policy
  2354. attributes of individual users (e.g., groups, roles, security and/or
  2355. integrity levels, time intervals, location). These data shall be used
  2356. by the TCB to authenticate the user's identity and to ensure that the
  2357. attributes of subjects external to the TCB that may be created to act
  2358. on behalf of the individual user satisfy the product policy (e.g., the
  2359. subject security level and authorizations are dominated by the
  2360. clearance and authorization of that user).
  2361.  
  2362. The TCB shall be able to incorporate and use installable
  2363. authentication mechanisms, such as token-based cards, biometrics, or
  2364. trusted third- party mechanisms, in the place of or in addition to the
  2365. default authentication (e.g., password- based) mechanism, to
  2366. authenticate the user. The TCB shall be able to enforce separate user
  2367. authentication procedures based on specific policy attributes.
  2368.  
  2369. 3. The TCB shall protect authentication data so that it cannot be used
  2370. by any unauthorized user.  The TCB shall appear to perform the entire
  2371. user authentication procedure even if the user identification entered
  2372. is invalid.
  2373.  
  2374. The TCB shall end the attempted login session if the user performs the
  2375. authentication procedure incorrectly for a number of successive times
  2376. (i.e., a threshold) specified by an authorized system administrator. A
  2377. default threshold shall be defined. When the threshold is exceeded,
  2378. the TCB shall send an alarm message to the system console and/or to
  2379. the administrator's terminal, log this event in the audit trail, and
  2380. delay the next login by an interval of time specified by the
  2381. authorized system administrator. A default time interval shall be
  2382. defined. The TCB shall provide a protected mechanism to disable the
  2383. user identity or account when the threshold of successive,
  2384. unsuccessful login attempts is violated more than a number of times
  2385. specified by the administrator.  By default, this mechanism shall be
  2386. disabled (as it may cause unauthorized denial of service).
  2387.  
  2388. 4.        The TCB shall have the capability to maintain, protect, and
  2389. display status information for all active users (e.g., users currently
  2390. logged on, current policy attributes) and of all user accounts (i.e.,
  2391. enabled or disabled user identity or account).
  2392.  
  2393. I&A-5 Multiple I&A Mechanisms
  2394.  
  2395. 1.        The TCB shall require users to identify themselves to it
  2396. before beginning to perform any other actions that the TCB is expected
  2397. to mediate.  The TCB shall be able to enforce individual
  2398. accountability by providing the capability to uniquely identify each
  2399. individual user. The TCB shall also provide the capability of
  2400. associating this identity with all auditable actions taken by that
  2401. individual. Furthermore, the TCB shall have the capability of
  2402. associating a unique identity with each privileged subject.
  2403.  
  2404. 2.        The TCB shall maintain authentication data that includes
  2405. information for verifying the identity of individual users (e.g.,
  2406. passwords) as well as information for determining the product policy
  2407. attributes of individual users (e.g., groups, roles, security and/or
  2408. integrity levels, time intervals, location). These data shall be used
  2409. by the TCB to authenticate the user's identity and to ensure that the
  2410. attributes of subjects external to the TCB that may be created to act
  2411. on behalf of the individual user satisfy the product policy (e.g., the
  2412. subject security level and authorizations are dominated by the
  2413. clearance and authorization of that user).
  2414.  
  2415. The TCB shall be able to incorporate and use installable
  2416. authentication mechanisms, such as token-based cards, biometrics, or
  2417. trusted third- party mechanisms, in the place of or in addition to the
  2418. default authentication (e.g., password- based) mechanism, to
  2419. authenticate the user. The TCB shall be able to enforce separate user
  2420. authentication procedures based on specific policy attributes. Each
  2421. user shall be authenticated by two or more types of authentication
  2422. mechanisms; i.e., the authentication is successful only if all
  2423. mechanisms individually indicate successful authentication. The TCB
  2424. shall be able to enforce the use of these mechanisms on a
  2425. policy-attribute basis.
  2426.  
  2427. 3. The TCB shall protect authentication data so that it cannot be used
  2428. by any unauthorized user.  The TCB shall appear to perform the entire
  2429. user authentication procedure even if the user identification entered
  2430. is invalid.
  2431.  
  2432. The TCB shall end the attempted login session if the user performs the
  2433. authentication procedure incorrectly for a number of successive times
  2434. (i.e., a threshold) specified by an authorized system administrator. A
  2435. default threshold shall be defined. When the threshold is exceeded,
  2436. the TCB shall send an alarm message to the system console and/or to
  2437. the administrator's terminal, log this event in the audit trail, and
  2438. delay the next login by an interval of time specified by the
  2439. authorized system administrator. A default time interval shall be
  2440. defined. The TCB shall provide a protected mechanism to disable the
  2441. user identity or account when the threshold of successive,
  2442. unsuccessful login attempts is violated more than a number of times
  2443. specified by the administrator.  By default, this mechanism shall be
  2444. disabled (as it may cause unauthorized denial of service).
  2445.  
  2446. 4.        The TCB shall have the capability to maintain, protect, and
  2447. display status information for all active users (e.g., users currently
  2448. logged on, current policy attributes) and of all user accounts (i.e.,
  2449. enabled or disabled user identity or account).
  2450.  
  2451. 4.3.2     Rated System Entry Components
  2452.  
  2453. System entry control helps enhance accountability by providing a time,
  2454. space, and mode-of-entry context to each action for which the user is
  2455. held accountable. The additional constraints of system entry control
  2456. help gain increased confidence that the proper user is held
  2457. responsible for a set of authorized actions.
  2458.  
  2459. System entry by an identified and authenticated user shall be
  2460. controlled by the TCB. The conditions under which a user subject
  2461. (e.g., process) is created on behalf of an identified and
  2462. authenticated user shall be specified. The specification of these
  2463. conditions shall be based on users' policy attributes (e.g., groups,
  2464. roles, security and/or integrity levels, time intervals, location).
  2465.  
  2466. The system-entry components are rated based on the coverage of
  2467. specific conditions of system entry. For example, the features covered
  2468. at level SE-1 include only basic forms of system entry (e.g., system
  2469. entry conditions based on group or role membership, and security
  2470. and/or integrity levels). This level is intended for use in most IT
  2471. products that support system-entry control. Products that do not
  2472. implement explicit system-entry control rely on the identification and
  2473. authentication mechanism as the default system entry control.  The
  2474. features of level SE-2 include, in addition to the entry conditions of
  2475. level SE-1, entry conditions defined in terms of the time and the
  2476. location of entry. The level SE-3 extends the feature coverage of
  2477. level SE-2 by requiring the explicit user ability to lock and unlock
  2478. the user's own interactive sessions. Primitive forms of such locking
  2479. by terminating and restarting a session are considered to have a
  2480. substantially narrower coverage than those intended at this level and
  2481. may be used only at lower levels.
  2482.  
  2483. SE-1 Basic System Entry Control
  2484.  
  2485. 1.        Prior to initiating the system login procedure, the TCB shall
  2486. display an advisory warning message to the user regarding unauthorized
  2487. use of the system and the possible consequences of failure to heed
  2488. this warning.
  2489.  
  2490. 2.        Before system entry is granted to a user, the identity of that
  2491. user shall be authenticated by the TCB. If the TCB is designed to
  2492. support multiple login sessions per user identity, the TCB shall
  2493. provide a protected mechanism to enable limiting the number of login
  2494. sessions per user identity or account with a default of a single login
  2495. session.
  2496.  
  2497. 3.        The TCB shall grant system entry only in accordance with the
  2498. authenticated user's policy attributes. The system entry conditions
  2499. shall be expressed in terms of users' policy attributes (e.g.,
  2500. greatest lower bound and least upper bound computations including the
  2501. user levels, terminal levels, system levels). If no explicit system-
  2502. entry conditions are defined, the system-entry default shall be used
  2503. (e.g., the correct user authentication).
  2504.  
  2505. 4.        The TCB shall provide a protected mechanism that enables
  2506. authorized administrators to display and modify the policy attributes
  2507. used in system-entry control for each user. The conditions under which
  2508. an unprivileged user may display these attributes shall be specified.
  2509.  
  2510. 5.        Upon a user's successful entry to the system, the TCB shall
  2511. display the following data to the user and shall not remove them
  2512. without user intervention: (1) the date, time, means of access and
  2513. port of entry of the last successful entry to the system; and (2) the
  2514. number of successive, unsuccessful attempts to access the system since
  2515. the last successful entry by the identified user.
  2516.  
  2517. 6.        The TCB shall either lock or terminate an interactive session
  2518. after an administrator- specified interval of user inactivity. The
  2519. default value for this interval shall be specified.
  2520.  
  2521. SE-2 Time and Location Based Entry Control
  2522.  
  2523. 1.        Prior to initiating the system login procedure, the TCB shall
  2524. display an advisory warning message to the user regarding unauthorized
  2525. use of the system and the possible consequences of failure to heed
  2526. this warning.
  2527.  
  2528. 2.        Before system entry is granted to a user, the identity of that
  2529. user shall be authenticated by the TCB. If the TCB is designed to
  2530. support multiple login sessions per user identity, the TCB shall
  2531. provide a protected mechanism to enable limiting the number of login
  2532. sessions per user identity or account with a default of a single login
  2533. session.
  2534.  
  2535. 3.        The TCB shall grant system entry only in accordance with the
  2536. authenticated user's policy attributes. The system entry conditions
  2537. shall be expressed in terms of users' policy attributes (e.g.,
  2538. greatest lower bound and least upper bound computations including the
  2539. user levels, terminal levels, system levels). If no explicit system-
  2540. entry conditions are defined, the system-entry default shall be used
  2541. (e.g., the correct user authentication). The TCB shall provide a
  2542. protected mechanism to allow or deny system entry based on specified
  2543. ranges of time. Entry conditions using these ranges shall be specified
  2544. using time-of-day, day-of-week, and calendar dates.
  2545.  
  2546. The TCB shall provide a protected mechanism to allow or deny system
  2547. entry based on location or port of entry. Conditions for system entry
  2548. via dial-up lines (e.g., lists of user identities authorized to enter
  2549. the system via dial-up lines), if any, shall be specified.
  2550.  
  2551. 4.        The TCB shall provide a protected mechanism that enables
  2552. authorized administrators to display and modify the policy attributes
  2553. used in system-entry control for each user. The conditions under which
  2554. an unprivileged user may display these attributes shall be specified.
  2555.  
  2556. 5.        Upon a user's successful entry to the system, the TCB shall
  2557. display the following data to the user and shall not remove them
  2558. without user intervention: (1) the date, time, means of access and
  2559. port of entry of the last successful entry to the system; and (2) the
  2560. number of successive, unsuccessful attempts to access the system since
  2561. the last successful entry by the identified user.
  2562.  
  2563. 6.        The TCB shall either lock or terminate an interactive session
  2564. after an administrator- specified interval of user inactivity. The
  2565. default value for this interval shall be specified.
  2566.  
  2567. SE-3 Session Locking and Unlocking
  2568.  
  2569. 1.        Prior to initiating the system login procedure, the TCB shall
  2570. display an advisory warning message to the user regarding unauthorized
  2571. use of the system and the possible consequences of failure to heed
  2572. this warning.
  2573.  
  2574. 2.        Before system entry is granted to a user, the identity of that
  2575. user shall be authenticated by the TCB. If the TCB is designed to
  2576. support multiple login sessions per user identity, the TCB shall
  2577. provide a protected mechanism to enable limiting the number of login
  2578. sessions per user identity or account with a default of a single login
  2579. session.
  2580.  
  2581. 3.        The TCB shall grant system entry only in accordance with the
  2582. authenticated user's policy attributes. The system entry conditions
  2583. shall be expressed in terms of users' policy attributes (e.g.,
  2584. greatest lower bound and least upper bound computations including the
  2585. user levels, terminal levels, system levels). If no explicit system-
  2586. entry conditions are defined, the system-entry default shall be used
  2587. (e.g., the correct user authentication). The TCB shall provide a
  2588. protected mechanism to allow or deny system entry based on specified
  2589. ranges of time. Entry conditions using these ranges shall be specified
  2590. using time-of-day, day-of-week, and calendar dates.
  2591.  
  2592. The TCB shall provide a protected mechanism to allow or deny system
  2593. entry based on location or port of entry. Conditions for system entry
  2594. via dial-up lines (e.g., lists of user identities authorized to enter
  2595. the system via dial-up lines), if any, shall be specified.
  2596.  
  2597. 4.        The TCB shall provide a protected mechanism that enables
  2598. authorized administrators to display and modify the policy attributes
  2599. used in system-entry control for each user. The conditions under which
  2600. an unprivileged user may display these attributes shall be specified.
  2601.  
  2602. 5.        Upon a user's successful entry to the system, the TCB shall
  2603. display the following data to the user and shall not remove them
  2604. without user intervention: (1) the date, time, means of access and
  2605. port of entry of the last successful entry to the system; and (2) the
  2606. number of successive, unsuccessful attempts to access the system since
  2607. the last successful entry by the identified user.
  2608.  
  2609. 6.        The TCB shall either lock or terminate an interactive session
  2610. after an administrator- specified interval of user inactivity. The
  2611. default value for this interval shall be specified. The TCB shall also
  2612. provide a mechanism for user- initiated locking of the user's own
  2613. interactive sessions (e.g., keyboard locking) that includes: (1)
  2614. clearing or over-writing display devices to make the current contents
  2615. unreadable; (2) requiring user authentication prior to unlocking the
  2616. session; and (3) disabling any activity of the user's data
  2617. entry/display devices other than unlocking the session.
  2618.  
  2619. 4.3.3     Rated Trusted Path Components
  2620.  
  2621. The trusted path components are rated based on the scope and coverage
  2622. of the trusted-path interactions (e.g., user-TCB interactions
  2623. including the number and types of commands included in the trusted
  2624. path). Primitive forms of trusted path, such as terminating a login
  2625. session or powering off a workstation to guarantee trusted path
  2626. interaction, are considered to have a substantially narrower scope and
  2627. coverage than those enabling trusted path within a login session.
  2628.  
  2629. The rating of the trusted path components intends to guarantee at the
  2630. lowest level, TP-1, that a trusted communication channel exists from
  2631. the user to the TCB for initial identification purposes. For higher
  2632. levels, both the scope and the coverage of trusted path are extended.
  2633. At level TP-2, trusted path includes not only login commands but also
  2634. other commands that require protection (e.g., change of subject policy
  2635. attributes). Thus, the TCB guarantees the invocation of a trusted
  2636. communication channel from the user to the TCB for trusted sensitive
  2637. commands and their parameters. At level TP-3, the coverage of the
  2638. trusted path features is enlarged to enable trusted applications to
  2639. communicate with the user for the validation of specific TCB mediated
  2640. tasks (e.g., change of policy attributes, change of user registration
  2641. parameters). This means that a trusted application can use a separate,
  2642. trusted display feature, and that commands of the trusted application
  2643. can be introduced in the user-initiated trusted path.
  2644.  
  2645. TP-1 Login Trusted Path
  2646.  
  2647. The TCB shall support a trusted communication path between itself and
  2648. the user for initial identification and authentication. Communications
  2649. via this path shall be initiated exclusively by a user.
  2650.  
  2651. TP-2 Trusted User-to-TCB Communication
  2652.  
  2653. The TCB shall support a trusted communication path between itself and
  2654. users for use whenever a positive user-to-TCB connection is required
  2655. (e.g., login, change of policy attributes).  Communications via this
  2656. trusted path shall be activated exclusively by a user or the TCB and
  2657. shall be logically isolated and unmistakably distinguishable from
  2658. other communication paths.
  2659.  
  2660. TP-3 Trusted Application-to-User Communication
  2661.  
  2662. The TCB shall support a trusted communication path between itself and
  2663. users for use whenever a positive user-to-TCB connection is required
  2664. (e.g., login, change of subject or object attributes).  Communications
  2665. via this trusted path shall be activated exclusively by a user or the
  2666. TCB and shall be logically isolated and unmistakably distinguishable
  2667. from other communication paths.The TCB shall also support a trusted
  2668. communication path between trusted applications and users when a
  2669. trusted application-to-user connection is required (e.g., display or
  2670. input of application sensitive data).
  2671.  
  2672. 4.3.4     Rated Audit Components
  2673.  
  2674. The audit components are rated based on the coverage of the
  2675. event-selection mechanisms and audit-analysis tools, and the strength
  2676. of monitoring user actions (e.g., degree to which active, real-time
  2677. monitoring is possible.) The audit requirements that follow are
  2678. divided into four parts: first, the protection of the audit trail and
  2679. the control of access to audit data; second, the definition of the
  2680. auditable events; third, format and recording of the audit data; and
  2681. fourth, the selection of audit events, and audit-data management,
  2682. analysis, and reporting.
  2683.  
  2684. Level AD-1 includes minimal audit requirements; i.e., requirements
  2685. that must be satisfied by all systems (to the extent to which they
  2686. incorporate relevant policy functions).  The audit coverage is
  2687. extended at audit level AD-2 by extending the types of auditable
  2688. events and by the inclusion of additional audit management functions.
  2689. Audit function coverage is further extended at level AD-3 by the
  2690. requirements for availability of trusted audit tools that enhance
  2691. audit control (e.g., tools offering a graphical interface to the
  2692. auditor, tools that enable the auditor to perform consistency checking
  2693. of the selected events and of audit trails, tools that enhance the
  2694. ease-of-auditing). Level AD-4 extends the coverage of the audit
  2695. features of level AD-3 by requiring detection of accumulation of
  2696. security-relevant events and generation of alarms whenever such events
  2697. are detected. AD-5 represents an added level of auditing strength
  2698. since it requires that auditing be performed in real-time. Thus, real-
  2699. time intrusions can be detected.
  2700.  
  2701. AD-1 - Minimal Audit
  2702.  
  2703. 1.        The TCB shall be able to create, maintain, and protect from
  2704. modification or unauthorized access or destruction an audit trail of
  2705. accesses to the objects it protects. The audit data shall be protected
  2706. by the TCB so that read access to it is limited to those who are
  2707. authorized for audit data.
  2708.  
  2709. 2.        The TCB shall be able to record the following types of events:
  2710.  
  2711.           - use of the identification and authentication mechanisms;
  2712.  
  2713.           - introduction of objects into a user's address space (e.g.,
  2714. file open, program initiation), and deletion of objects;
  2715.  
  2716.           - actions taken by computer operators and system
  2717. administrators and/or system security officers.
  2718.  
  2719. If availability policies are supported, attempts to circumvent or
  2720. otherwise gain unauthorized access to resource-allocation limits shall
  2721. be audited.
  2722.  
  2723. If non-discretionary access control policies are supported, the TCB
  2724. shall be able to record any override of human-readable output
  2725. markings. When the non-discretionary access control policies aim to
  2726. control the flow of information between subjects, the TCB shall also
  2727. be able to audit the identified event that may be used in the
  2728. exploitation of covert channels.
  2729.  
  2730. 3.        For each recorded event, the audit record shall identify: date
  2731. and time of the event, user, type of event, and success or failure of
  2732. the event. For identification/authentication events the origin of
  2733. request (e.g., terminal ID) shall be included in the audit record. For
  2734. events that introduce an object into a user's address space and for
  2735. object deletion events the audit record shall include the name and
  2736. policy attributes of the object (e.g., object security level).
  2737.  
  2738. 4.        The system administrator shall be able to selectively audit
  2739. the actions of one or more users based on individual identity and/or
  2740. object policy attributes (e.g., object security level).
  2741.  
  2742. AD-2 Basic Audit
  2743.  
  2744. 1.        The TCB shall be able to create, maintain, and protect from
  2745. modification or unauthorized access or destruction an audit trail of
  2746. accesses to the objects it protects. The audit data shall be protected
  2747. by the TCB so that read access to it is limited to those who are
  2748. authorized for audit data.
  2749.  
  2750. 2.        The TCB shall be able to record the following types of events:
  2751.  
  2752.           - use of the identification and authentication mechanisms, and
  2753. system entry events;
  2754.  
  2755.           - access control events selectable on a per user, per subject,
  2756. per object, and/or per policy attribute basis; i.e., introduction of
  2757. objects into a user's address space (e.g., file open, program
  2758. initiation), creation and deletion of subjects and objects;
  2759. distribution and revocation of access rights; changes of subject and
  2760. object policy attributes; acquisition and deletion of system
  2761. privileges;
  2762.  
  2763.           -actions taken by computer operators and system administrators
  2764. and/or system security officers; i.e., privileged operations such as
  2765. the modification of TCB elements; accesses to TCB objects; changes of
  2766. policy attributes of users, TCB configuration and security
  2767. characteristics, and system privileges; selection and modification of
  2768. audited events.
  2769.  
  2770. The events that are auditable by default, and those that are required
  2771. for successful auditing of other events, which may not be disabled,
  2772. shall be defined. The TCB shall provide a protected mechanism that
  2773. displays the currently selected events and their defaults. The use of
  2774. this mechanism shall be restricted to authorized system
  2775. administrators.
  2776.  
  2777. If availability policies are supported, attempts to circumvent or
  2778. otherwise gain unauthorized access to resource-allocation limits shall
  2779. be audited.
  2780.  
  2781. If non-discretionary access control policies are supported, the TCB
  2782. shall be able to record any override of human-readable output
  2783. markings. When the non-discretionary access control policies aim to
  2784. control the flow of information between subjects, the TCB shall also
  2785. be able to audit the identified event that may be used in the
  2786. exploitation of covert channels.
  2787.  
  2788. 3.        For each recorded event, the audit record shall identify: date
  2789. and time of the event, user, type of event, and success or failure of
  2790. the event. For identification/authentication events the origin of
  2791. request (e.g., terminal ID) shall be included in the audit record. For
  2792. events that introduce an object into a user's address space and for
  2793. object deletion events the audit record shall include the name and
  2794. policy attributes of the object (e.g., object security level).
  2795.  
  2796. 4.        The TCB shall provide a protected mechanism to turn auditing
  2797. on and off, and to select and change the events to be audited and
  2798. their defaults, during the system operation. The use of this mechanism
  2799. shall be restricted to authorized system administrators. The system
  2800. administrator shall be able to selectively audit the actions of one or
  2801. more users based on individual identity and/or object policy
  2802. attributes (e.g., object security level). Audit review tools shall be
  2803. available to authorized system administrators to assist in the
  2804. inspection and review of audit data, and shall be protected from
  2805. unauthorized use, modification, or destruction.
  2806.  
  2807. The TCB shall also provide protected audit-trail management functions
  2808. that shall enable:
  2809.  
  2810.           -creation, destruction, and emptying of audit trails; use of
  2811. warning points regarding the size of the audit data, and modification
  2812. of the audit trail size;
  2813.  
  2814.           -formatting and compressing of event records;
  2815.  
  2816.           -displaying of formatted audit trail data; and
  2817.  
  2818.           -maintaining the consistency of the audit trail data after
  2819. system failures and discontinuity of operation.
  2820.  
  2821. AD-3 Audit Tools
  2822.  
  2823. 1.        The TCB shall be able to create, maintain, and protect from
  2824. modification or unauthorized access or destruction an audit trail of
  2825. accesses to the objects it protects. The audit data shall be protected
  2826. by the TCB so that read access to it is limited to those who are
  2827. authorized for audit data.
  2828.  
  2829. 2.        The TCB shall be able to record the following types of events:
  2830.  
  2831.           - use of the identification and authentication mechanisms, and
  2832. system entry events;
  2833.  
  2834.           - access control events selectable on a per user, per subject,
  2835. per object, and/or per policy attribute basis; i.e., introduction of
  2836. objects into a user's address space (e.g., file open, program
  2837. initiation), creation and deletion of subjects and objects;
  2838. distribution and revocation of access rights; changes of subject and
  2839. object policy attributes; acquisition and deletion of system
  2840. privileges;
  2841.  
  2842.           -actions taken by computer operators and system administrators
  2843. and/or system security officers; i.e., privileged operations such as
  2844. the modification of TCB elements; accesses to TCB objects; changes of
  2845. policy attributes of users, TCB configuration and security
  2846. characteristics, and system privileges; selection and modification of
  2847. audited events.
  2848.  
  2849. The events that are auditable by default, and those that are required
  2850. for successful auditing of other events, which may not be disabled,
  2851. shall be defined. The TCB shall provide a protected mechanism that
  2852. displays the currently selected events and their defaults. The use of
  2853. this mechanism shall be restricted to authorized system
  2854. administrators.
  2855.  
  2856. If availability policies are supported, attempts to circumvent or
  2857. otherwise gain unauthorized access to resource-allocation limits shall
  2858. be audited.
  2859.  
  2860. If non-discretionary access control policies are supported, the TCB
  2861. shall be able to record any override of human-readable output
  2862. markings. When the non-discretionary access control policies aim to
  2863. control the flow of information between subjects, the TCB shall also
  2864. be able to audit the identified event that may be used in the
  2865. exploitation of covert channels.
  2866.  
  2867. 3.        For each recorded event, the audit record shall identify: date
  2868. and time of the event, user, type of event, and success or failure of
  2869. the event. For identification/authentication events the origin of
  2870. request (e.g., terminal ID) shall be included in the audit record. For
  2871. events that introduce an object into a user's address space and for
  2872. object deletion events the audit record shall include the name and
  2873. policy attributes of the object (e.g., object security level).
  2874.  
  2875. 4.        The TCB shall provide a protected mechanism to turn auditing
  2876. on and off, and to select and change the events to be audited and
  2877. their defaults, during the system operation. The use of this mechanism
  2878. shall be restricted to authorized system administrators. The system
  2879. administrator shall be able to selectively audit the actions of one or
  2880. more users based on individual identity and/or object policy
  2881. attributes (e.g., object security level). Audit review tools shall be
  2882. available to authorized system administrators to assist in the
  2883. inspection and review of audit data, and shall be protected from
  2884. unauthorized use, modification, or destruction.
  2885.  
  2886. The TCB shall provide tools for audit data processing. These shall
  2887. include specifically designed tools: for verifying the consistency of
  2888. the audit data; for verifying the selection of audit events; for audit
  2889. trail management. The audit trail management tools shall enable:
  2890.  
  2891.           -creation, destruction, and emptying of audit trails; use of
  2892. warning points regarding the size of the audit data, and modification
  2893. of the audit trail size;
  2894.  
  2895.           -formatting and compressing of event records;
  2896.  
  2897.           -displaying of formatted audit trail data; and
  2898.  
  2899.           -maintaining the consistency of the audit trail data after
  2900. system failures and discontinuity of operation.
  2901.  
  2902. 5.        Audit review tools shall be available to authorized users to
  2903. assist in the inspection and review of audit data, and shall be
  2904. protected from unauthorized modification or destruction. The TCB shall
  2905. also provide tools for post-collection audit analysis (e.g., intrusion
  2906. detection) that shall be able to selectively review (1) the actions of
  2907. one or more users (e.g., identification, authentication, system-entry,
  2908. and access control actions); (2) the actions performed on a specific
  2909. object or system resource; and (3) all, or a specified set of, audited
  2910. exceptions; and (4) actions associated with a specific policy
  2911. attribute.The review tools shall be able to operate concurrently with
  2912. the system operation.
  2913.  
  2914. AD-4 Audit Alarms
  2915.  
  2916. 1.        The TCB shall be able to create, maintain, and protect from
  2917. modification or unauthorized access or destruction an audit trail of
  2918. accesses to the objects it protects. The audit data shall be protected
  2919. by the TCB so that read access to it is limited to those who are
  2920. authorized for audit data.
  2921.  
  2922. 2.        The TCB shall be able to record the following types of events:
  2923.  
  2924.           - use of the identification and authentication mechanisms, and
  2925. system entry events;
  2926.  
  2927.           - access control events selectable on a per user, per subject,
  2928. per object, and/or per policy attribute basis; i.e., introduction of
  2929. objects into a user's address space (e.g., file open, program
  2930. initiation), creation and deletion of subjects and objects;
  2931. distribution and revocation of access rights; changes of subject and
  2932. object policy attributes; acquisition and deletion of system
  2933. privileges;
  2934.  
  2935.           -actions taken by computer operators and system administrators
  2936. and/or system security officers; i.e., privileged operations such as
  2937. the modification of TCB elements; accesses to TCB objects; changes of
  2938. policy attributes of users, TCB configuration and security
  2939. characteristics, and system privileges; selection and modification of
  2940. audited events.
  2941.  
  2942. The events that are auditable by default, and those that are required
  2943. for successful auditing of other events, which may not be disabled,
  2944. shall be defined. The TCB shall provide a protected mechanism that
  2945. displays the currently selected events and their defaults. The use of
  2946. this mechanism shall be restricted to authorized system
  2947. administrators.
  2948.  
  2949. If availability policies are supported, attempts to circumvent or
  2950. otherwise gain unauthorized access to resource-allocation limits shall
  2951. be audited.
  2952.  
  2953. If non-discretionary access control policies are supported, the TCB
  2954. shall be able to record any override of human-readable output
  2955. markings. When the non-discretionary access control policies aim to
  2956. control the flow of information between subjects, the TCB shall also
  2957. be able to audit the identified event that may be used in the
  2958. exploitation of covert channels.
  2959.  
  2960. The TCB shall contain a mechanism that is able to monitor the
  2961. occurrence or accumulation of auditable events that may indicate an
  2962. imminent violation of the product's security policy. This mechanism
  2963. shall be able to immediately notify the security administrator when
  2964. thresholds are exceeded, and, if the occurrence or accumulation of
  2965. these security relevant events continues, the system shall take the
  2966. least disruptive action to terminate the event. That is, the TCB shall
  2967. be able to send a message to the system console and/ or the
  2968. administrator's terminal when thresholds are exceeded, or when audit
  2969. records are unable to be recorded, and, if the occurrence or
  2970. accumulation of these security-relevant events continue, the TCB shall
  2971. generate an alarm (this shall be the default) or initiate a secure
  2972. system shutdown.
  2973.  
  2974. 3.        For each recorded event, the audit record shall identify: date
  2975. and time of the event, user, type of event, and success or failure of
  2976. the event. For identification/authentication events the origin of
  2977. request (e.g., terminal ID) shall be included in the audit record. For
  2978. events that introduce an object into a user's address space and for
  2979. object deletion events the audit record shall include the name and
  2980. policy attributes of the object (e.g., object security level).
  2981.  
  2982. 4.        The TCB shall provide a protected mechanism to turn auditing
  2983. on and off, and to select and change the events to be audited and
  2984. their defaults, during the system operation. The use of this mechanism
  2985. shall be restricted to authorized system administrators. The system
  2986. administrator shall be able to selectively audit the actions of one or
  2987. more users based on individual identity and/or object policy
  2988. attributes (e.g., object security level). Audit review tools shall be
  2989. available to authorized system administrators to assist in the
  2990. inspection and review of audit data, and shall be protected from
  2991. unauthorized use, modification, or destruction.
  2992.  
  2993. The TCB shall provide tools for audit data processing. These shall
  2994. include specifically designed tools: for verifying the consistency of
  2995. the audit data; for verifying the selection of audit events; for audit
  2996. trail management. The audit trail management tools shall enable:
  2997.  
  2998.           -creation, destruction, and emptying of audit trails; use of
  2999. warning points regarding the size of the audit data, and modification
  3000. of the audit trail size;
  3001.  
  3002.           -formatting and compressing of event records;
  3003.  
  3004.           -displaying of formatted audit trail data; and
  3005.  
  3006.           -maintaining the consistency of the audit trail data after
  3007. system failures and discontinuity of operation.
  3008.  
  3009. 5.        Audit review tools shall be available to authorized users to
  3010. assist in the inspection and review of audit data, and shall be
  3011. protected from unauthorized modification or destruction. The TCB shall
  3012. also provide tools for post-collection audit analysis (e.g., intrusion
  3013. detection) that shall be able to selectively review (1) the actions of
  3014. one or more users (e.g., identification, authentication, system-entry,
  3015. and access control actions); (2) the actions performed on a specific
  3016. object or system resource; and (3) all, or a specified set of, audited
  3017. exceptions; and (4) actions associated with a specific policy
  3018. attribute.The review tools shall be able to operate concurrently with
  3019. the system operation.
  3020.  
  3021. AD-5 Real-Time Intrusion Detection
  3022.  
  3023. 1.        The TCB shall be able to create, maintain, and protect from
  3024. modification or unauthorized access or destruction an audit trail of
  3025. accesses to the objects it protects. The audit data shall be protected
  3026. by the TCB so that read access to it is limited to those who are
  3027. authorized for audit data.
  3028.  
  3029. 2.        The TCB shall be able to record the following types of events:
  3030.  
  3031.           - use of the identification and authentication mechanisms, and
  3032. system entry events;
  3033.  
  3034.           - access control events selectable on a per user, per subject,
  3035. per object, and/or per policy attribute basis; i.e., introduction of
  3036. objects into a user's address space (e.g., file open, program
  3037. initiation), creation and deletion of subjects and objects;
  3038. distribution and revocation of access rights; changes of subject and
  3039. object policy attributes; acquisition and deletion of system
  3040. privileges;
  3041.  
  3042.           -actions taken by computer operators and system administrators
  3043. and/or system security officers; i.e., privileged operations such as
  3044. the modification of TCB elements; accesses to TCB objects; changes of
  3045. policy attributes of users, TCB configuration and security
  3046. characteristics, and system privileges; selection and modification of
  3047. audited events.
  3048.  
  3049. The events that are auditable by default, and those that are required
  3050. for successful auditing of other events, which may not be disabled,
  3051. shall be defined. The TCB shall provide a protected mechanism that
  3052. displays the currently selected events and their defaults. The use of
  3053. this mechanism shall be restricted to authorized system
  3054. administrators.
  3055.  
  3056. If availability policies are supported, attempts to circumvent or
  3057. otherwise gain unauthorized access to resource-allocation limits shall
  3058. be audited.
  3059.  
  3060. If non-discretionary access control policies are supported, the TCB
  3061. shall be able to record any override of human-readable output
  3062. markings. When the non-discretionary access control policies aim to
  3063. control the flow of information between subjects, the TCB shall also
  3064. be able to audit the identified event that may be used in the
  3065. exploitation of covert channels.
  3066.  
  3067. The TCB shall contain a mechanism that is able to monitor the
  3068. occurrence or accumulation of auditable events that may indicate an
  3069. imminent violation of the product's security policy. This mechanism
  3070. shall be able to immediately notify the security administrator when
  3071. thresholds are exceeded, and, if the occurrence or accumulation of
  3072. these security relevant events continues, the system shall take the
  3073. least disruptive action to terminate the event. That is, the TCB shall
  3074. be able to send a message to the system console and/ or the
  3075. administrator's terminal when thresholds are exceeded, or when audit
  3076. records are unable to be recorded, and, if the occurrence or
  3077. accumulation of these security-relevant events continue, the TCB shall
  3078. generate an alarm (this shall be the default) or initiate a secure
  3079. system shutdown.
  3080.  
  3081. 3.        For each recorded event, the audit record shall identify: date
  3082. and time of the event, user, type of event, and success or failure of
  3083. the event. For identification/authentication events the origin of
  3084. request (e.g., terminal ID) shall be included in the audit record. For
  3085. events that introduce an object into a user's address space and for
  3086. object deletion events the audit record shall include the name and
  3087. policy attributes of the object (e.g., object security level).
  3088.  
  3089. 4.        The TCB shall provide a protected mechanism to turn auditing
  3090. on and off, and to select and change the events to be audited and
  3091. their defaults, during the system operation. The use of this mechanism
  3092. shall be restricted to authorized system administrators. The system
  3093. administrator shall be able to selectively audit the actions of one or
  3094. more users based on individual identity and/or object policy
  3095. attributes (e.g., object security level). Audit review tools shall be
  3096. available to authorized system administrators to assist in the
  3097. inspection and review of audit data, and shall be protected from
  3098. unauthorized use, modification, or destruction.
  3099.  
  3100. The TCB shall provide tools for audit data processing. These shall
  3101. include specifically designed tools: for verifying the consistency of
  3102. the audit data; for verifying the selection of audit events; for audit
  3103. trail management. The audit trail management tools shall enable:
  3104.  
  3105.           -creation, destruction, and emptying of audit trails; use of
  3106. warning points regarding the size of the audit data, and modification
  3107. of the audit trail size;
  3108.  
  3109.           -formatting and compressing of event records;
  3110.  
  3111.           -displaying of formatted audit trail data; and
  3112.  
  3113.           -maintaining the consistency of the audit trail data after
  3114. system failures and discontinuity of operation.
  3115.  
  3116. 5.        Audit review tools shall be available to authorized users to
  3117. assist in the inspection and review of audit data, and shall be
  3118. protected from unauthorized modification or destruction. The TCB shall
  3119. also provide tools for post-collection audit analysis (e.g., intrusion
  3120. detection) that shall be able to selectively review (1) the actions of
  3121. one or more users (e.g., identification, authentication, system-entry,
  3122. and access control actions); (2) the actions performed on a specific
  3123. object or system resource; and (3) all, or a specified set of, audited
  3124. exceptions; and (4) actions associated with a specific policy
  3125. attribute.The review tools shall be able to operate concurrently with
  3126. the system operation.
  3127.  
  3128. The TCB shall be able to perform real-time event reporting and
  3129. intrusion detection in support of the product's security policy. The
  3130. TCB shall include a real-time mechanism that is able to monitor the
  3131. occurrence or accumulation of security-relevant events that may
  3132. indicate an imminent security violation. This mechanism shall be able
  3133. to generate an alarm when thresholds are exceeded and, if the
  3134. occurrence or accumulation of these events persists, the TCB shall
  3135. take the least disruptive action to terminate the event(s).
  3136.  
  3137. 4.3.5     Rated Access Control Components
  3138.  
  3139. Functional components implementing discretionary policies can be rated
  3140. based on their scope (e.g., whether it includes all subjects and
  3141. objects in a system, or only a defined subset; whether access control
  3142. includes subject and object attributes), and on their coverage (e.g.,
  3143. their ability to control the propagation and retention of access
  3144. rights for subjects and objects and their ability to encapsulate
  3145. objects within a subject such that access to the object is allowed
  3146. only by invoking the encapsulating subject.) In addition,
  3147. discretionary policy rating can also refer to the ability to control
  3148. access at a given subject granularity (e.g., at the individual user
  3149. and group, or role level) and object granularity (e.g., memory
  3150. partition, memory segment, file, record).
  3151.  
  3152. Non-discretionary access controls can be rated using the same generic
  3153. levels as those used for discretionary policies.  However, the
  3154. granularity of subject and object to which non- discretionary access
  3155. controls apply can be significantly finer than that of discretionary
  3156. policies. Since non- discretionary policies control information flow,
  3157. they must control access to object status attributes such as object
  3158. size, existence, locking mode, and subject status attributes such as
  3159. process-suspended or process-active indicators.
  3160.  
  3161. Separation-of-role policies can use existing access control functions
  3162. of an IT product to implement its required rules.  For this reason,
  3163. separation-of-role policies can be rated using the same generic levels
  3164. of subject and object granularity and scope as those used for
  3165. discretionary and non- discretionary policies (discussed below and in
  3166. Appendix C).  In their simplest form, access control components
  3167. implementing separation of role policies are rated by the separation
  3168. of unprivileged subjects from those with administrative
  3169. responsibilities. These component requirements include separation of
  3170. product resources, of data, and of administrator-controlled policy
  3171. attributes. The rating will take into account the granularity of
  3172. separation between unprivileged subjects and those with administrative
  3173. responsibilities.
  3174.  
  3175. In rating the access control components, four levels are identified
  3176. using the definition of policies in Appendix C. The component rating
  3177. reflected by these levels is based on the scope, granularity, and
  3178. coverage of access control requirements. The choice of requirements at
  3179. each level is largely guided by the access control characteristics of
  3180. current commercially available products and by the goal of retaining
  3181. the ability to harmonize these requirements with other existing
  3182. standards.
  3183.  
  3184. Level AC-1 represents a minimal level of policy definition and
  3185. enforcement. That is, the authorization rules apply to a defined
  3186. subset of subjects and objects, and the administration of policy
  3187. (i.e., access control) attributes cover only a subset of the functions
  3188. defined at higher levels. Level AC-2 extends the coverage of access
  3189. control policies and associated attributes of level AC-1 by
  3190. recognizing that multiple policies could be supported within the same
  3191. product. This level also extends the coverage of attribute
  3192. administration largely to reflect object import and export. Level AC-3
  3193. enhances the scope of access control to all subjects and objects.
  3194. Instead of referring to only a defined subset of subjects and objects,
  3195. the requirements of this level refer to all subjects and objects. If
  3196. non-discretionary policies that aim at controlling information flow
  3197. are supported, then the requirement granularity at this level is
  3198. extended to include all subject and object policy and status
  3199. attributes. This level of access control is appropriate when
  3200. non-discretionary policies are used that support information flow
  3201. control. In such environments, lack of access control to subject and
  3202. object status variables constitute a significant source of covert
  3203. channels. However, this level retains the ability to define
  3204. authorization and attribute administration on a per type-of-object
  3205. basis. Level AC-4 extends the requirement coverage to include time-
  3206. and location-based access controls, as well as inclusion and exclusion
  3207. of user access rights whenever groups or roles are used. This level
  3208. also extends the requirements for object and subject creation and
  3209. destruction, adding explicit authorization, inheritance, space
  3210. availability, and attribute inheritance conditions. It is expected
  3211. that this level of access control would be used in products where
  3212. fine-grain access control policies are required.
  3213.  
  3214.  
  3215.  
  3216. AC-1 Minimal Access Control
  3217.  
  3218. 1.        Definition of Access Control Attributes
  3219.  
  3220. The TCB shall define and protect access control attributes for
  3221. subjects and objects. Subject attributes shall include named
  3222. individuals or defined groups or both. Object attributes shall include
  3223. defined access rights (e.g., read, write, execute) that can be
  3224. assigned to subject attributes.
  3225.  
  3226. 2.        Administration of Access Control Attributes.
  3227.  
  3228. The TCB shall define and enforce rules for assignment and modification
  3229. of access control attributes for subjects and objects. The effect of
  3230. these rules shall be that access permission to an object by users not
  3231. already possessing access permission is assigned only by authorized
  3232. users.  These rules shall allow authorized users to specify and
  3233. control sharing of objects by named individuals or defined groups of
  3234. individuals, or by both, and shall provide controls to limit
  3235. propagation of access rights. These controls shall be capable of
  3236. including or excluding access to the granularity of a single user.
  3237.  
  3238. If different rules of assignment and modification of access control
  3239. attributes apply to different subjects and/or objects, the totality of
  3240. these rules shall be shown to support the defined policy.
  3241.  
  3242. 3.        Authorization of Subject References to Objects
  3243.  
  3244. The TCB shall define and enforce authorization rules for the mediation
  3245. of subject references to objects. These rules shall be based on the
  3246. access control attributes of subjects and objects. These rules shall,
  3247. either by explicit user action or by default, provide that objects are
  3248. protected from unauthorized access.
  3249.  
  3250. The scope of the authorization rules shall include a defined subset of
  3251. the product's subjects and objects and associated access control
  3252. attributes.  The coverage of authorization rules shall specify the
  3253. types of objects and subjects to which these rules apply. If different
  3254. rules apply to different subjects and objects, the totality of these
  3255. rules shall be shown to support the defined policy.
  3256.  
  3257. 4.        Subject and Object Creation and Destruction
  3258.  
  3259. The TCB shall control the creation and destruction of subjects and
  3260. objects. These controls shall include object reuse. That is, all
  3261. authorizations to the information contained within a storage object
  3262. shall be revoked prior to initial assignment, allocation or
  3263. reallocation to a subject from the TCB's pool of unused storage
  3264. objects; information, including encrypted representations of
  3265. information, produced by a prior subjects' actions shall be
  3266. unavailable to any subject that obtains access to an object that has
  3267. been released back to the system.
  3268.  
  3269. 5.        Object Encapsulation
  3270.  
  3271. If the TCB supports mechanisms for object encapsulation, controls must
  3272. be available for: (1) access authorization to encapsulated objects;
  3273. (2) creation of encapsulated subsystems by users; and (3) invocation
  3274. of encapsulated subsystems.
  3275.  
  3276. AC-2 Basic Access Control
  3277.  
  3278. 1.        Definition of Access Control Attributes
  3279.  
  3280. The TCB shall define and protect access control attributes for
  3281. subjects and objects. Subject attributes shall include named
  3282. individuals or defined groups or both. Object attributes shall include
  3283. defined access rights (e.g., read, write, execute) that can be
  3284. assigned to subject attributes. If multiple access control policies
  3285. are supported, the access control attributes corresponding to each
  3286. individual policy shall be identified.
  3287.  
  3288.  The subject and object attributes shall accurately reflect the
  3289. sensitivity and/or integrity of the subject or object.
  3290.  
  3291. 2.        Administration of Access Control Attributes
  3292.  
  3293. The TCB shall define and enforce rules for assignment and modification
  3294. of access control attributes for subjects and objects. The effect of
  3295. these rules shall be that access permission to an object by users not
  3296. already possessing access permission is assigned only by authorized
  3297. users.  These rules shall allow authorized users to specify and
  3298. control sharing of objects by named individuals or defined groups of
  3299. individuals, or by both, and shall provide controls to limit
  3300. propagation of access rights. These controls shall be capable of
  3301. including or excluding access to the granularity of a single user.
  3302.  
  3303. The rules for assignment and modification of access control attributes
  3304. shall include those for attribute assignment to objects during import
  3305. and export operations (e.g., import of non-labeled sensitive data,
  3306. export of labeled information). If different rules of assignment and
  3307. modification of access control attributes apply to different subjects
  3308. and/or objects, the totality of these rules shall be shown to support
  3309. the defined policy.
  3310.  
  3311. 3.        Authorization of Subject References to Objects
  3312.  
  3313. The TCB shall define and enforce authorization rules for the mediation
  3314. of subject references to objects. These rules shall be based on the
  3315. access control attributes of subjects and objects. These rules shall,
  3316. either by explicit user action or by default, provide that objects are
  3317. protected from unauthorized access.
  3318.  
  3319. The scope of the authorization rules shall include a defined subset of
  3320. the product's subjects and objects and associated access control
  3321. attributes.  The coverage of authorization rules shall specify the
  3322. types of objects and subjects to which these rules apply. If different
  3323. rules apply to different subjects and objects, the totality of these
  3324. rules shall be shown to support the defined policy.
  3325.  
  3326. If multiple policies are supported, the authorization rules for each
  3327. policy shall be defined separately. The TCB shall define and enforce
  3328. the composition of policies, including the enforcement of the
  3329. authorization rules (e.g., subject and object type coverage,
  3330. enforcement precedence).
  3331.  
  3332. 4.        Subject and Object Creation and Destruction
  3333.  
  3334. The TCB shall control the creation and destruction of subjects and
  3335. objects. These controls shall include object reuse. That is, all
  3336. authorizations to the information contained within a storage object
  3337. shall be revoked prior to initial assignment, allocation or
  3338. reallocation to a subject from the TCB's pool of unused storage
  3339. objects; information, including encrypted representations of
  3340. information, produced by a prior subjects' actions shall be
  3341. unavailable to any subject that obtains access to an object that has
  3342. been released back to the system.
  3343.  
  3344. 5.        Object Encapsulation
  3345.  
  3346. If the TCB supports mechanisms for object encapsulation, controls must
  3347. be available for: (1) access authorization to encapsulated objects;
  3348. (2) creation of encapsulated subsystems by users; and (3) invocation
  3349. of encapsulated subsystems
  3350.  
  3351. AC-3 Extended Access Control
  3352.  
  3353. 1.        Definition of Access Control Attributes
  3354.  
  3355. The TCB shall define and protect access control attributes for
  3356. subjects and objects. Subject attributes shall include named
  3357. individuals or defined groups or both. Object attributes shall include
  3358. defined access rights (e.g., read, write, execute) that can be
  3359. assigned to subject attributes. If multiple access control policies
  3360. are supported, the access control attributes corresponding to each
  3361. individual policy shall be identified.
  3362.  
  3363.  The subject and object attributes shall accurately reflect the
  3364. sensitivity and/or integrity of the subject or object. The TCB shall
  3365. immediately notify a terminal user of each attribute change of any
  3366. subject associated with that user during an interactive session that
  3367. reflects a change in the sensitivity or integrity of that session
  3368. (e.g., a change of the user's security level). A terminal user shall
  3369. be able to query the TCB as desired for a display of the subject's
  3370. complete set of access control attributes (e.g., the complete
  3371. sensitivity label).
  3372.  
  3373. The TCB shall support the assignment of access control attributes
  3374. (e.g., minimum and maximum security levels) to all attached physical
  3375. devices.  These attributes shall be used by the TCB to enforce
  3376. constraints imposed by the physical environments in which the devices
  3377. are located.
  3378.  
  3379. 2.        Administration of Access Control Attributes
  3380.  
  3381. The TCB shall define and enforce rules for assignment and modification
  3382. of access control attributes for subjects and objects. The effect of
  3383. these rules shall be that access permission to an object by users not
  3384. already possessing access permission is assigned only by authorized
  3385. users.  These rules shall allow authorized users to specify and
  3386. control sharing of objects by named individuals or defined groups of
  3387. individuals, or by both, and shall provide controls to limit
  3388. propagation of access rights. These controls shall be capable of
  3389. including or excluding access to the granularity of a single user.
  3390.  
  3391. The rules for assignment and modification of access control attributes
  3392. shall include those for attribute assignment to objects during import
  3393. and export operations (e.g., import of non-labeled sensitive data,
  3394. export of labeled information). If different rules of assignment and
  3395. modification of access control attributes apply to different subjects
  3396. and/or objects, the totality of these rules shall be shown to support
  3397. the defined policy.
  3398.  
  3399. 3.        Authorization of Subject References to Objects
  3400.  
  3401. The TCB shall define and enforce authorization rules for the mediation
  3402. of subject references to objects. These rules shall be based on the
  3403. access control attributes of subjects and objects. These rules shall,
  3404. either by explicit user action or by default, provide that objects are
  3405. protected from unauthorized access.
  3406.  
  3407. The scope of the authorization rules shall include all subjects,
  3408. storage objects (e.g., processes, segments, devices) and associated
  3409. access control attributes that are directly or indirectly accessible
  3410. to subjects external to the TCB. If non-discretionary access control
  3411. policies are used that aim to control the flow of information between
  3412. subjects, the scope of the authorization rules shall also include all
  3413. policy and status attributes of subjects and storage objects (e.g.,
  3414. quotas, object existence, size, access time, creation and modification
  3415. time, locked/unlocked).  If different rules apply to different
  3416. subjects and objects, the totality of these rules shall be shown to
  3417. support the defined policy.
  3418.  
  3419. If multiple policies are supported, the authorization rules for each
  3420. policy shall be defined separately. The TCB shall define and enforce
  3421. the composition of policies, including the enforcement of the
  3422. authorization rules (e.g., subject and object type coverage,
  3423. enforcement precedence).
  3424.  
  3425. 4. Subject and Object Creation and Destruction
  3426.  
  3427. The TCB shall control the creation and destruction of subjects and
  3428. objects. These controls shall include object reuse. That is, all
  3429. authorizations to the information contained within a storage object
  3430. shall be revoked prior to initial assignment, allocation, reallocation
  3431. to a subject from the TCB's pool of unused storage objects;
  3432. information, including encrypted representations of information,
  3433. produced by a prior subjects' actions shall be unavailable to any
  3434. subject that obtains access to an object that has been released back
  3435. to the system.
  3436.  
  3437. 5.        Object Encapsulation
  3438.  
  3439. If the TCB supports mechanisms for object encapsulation, controls must
  3440. be available for: (1) access authorization to encapsulated objects;
  3441. (2) creation of encapsulated subsystems by users; and (3) invocation
  3442. of encapsulated subsystems.
  3443.  
  3444. AC-4 Fine-Grain Access Control
  3445.  
  3446. 1.        Definition of Access Control Attributes
  3447.  
  3448. The TCB shall define and protect access control attributes for
  3449. subjects and objects. Subject attributes shall include named
  3450. individuals or defined groups or both. Object attributes shall include
  3451. defined access rights (e.g., read, write, execute) that can be
  3452. assigned to subject attributes. If multiple access control policies
  3453. are supported, the access control attributes corresponding to each
  3454. individual policy shall be identified. The subject's access control
  3455. attributes also shall include time and location attributes that can be
  3456. assigned to authenticated user identities.
  3457.  
  3458. The subject and object attributes shall accurately reflect the
  3459. sensitivity and/or integrity of the subject or object. The TCB shall
  3460. immediately notify a terminal user of each attribute change of any
  3461. subject associated with that user during an interactive session that
  3462. reflects a change in the sensitivity or integrity of that session
  3463. (e.g., a change of the user's security level). A terminal user shall
  3464. be able to query the TCB as desired for a display of the subject's
  3465. complete set of access control attributes (e.g., the complete
  3466. sensitivity label).
  3467.  
  3468. The TCB shall support the assignment of access control attributes
  3469. (e.g., device labels) to all attached physical devices. These
  3470. attributes shall be used by the TCB to enforce constraints imposed by
  3471. the physical environments in which the devices are located.
  3472.  
  3473. 2.        Administration of Access Control Attributes
  3474.  
  3475. The TCB shall define and enforce rules for assignment and modification
  3476. of access control attributes for subjects and objects. The effect of
  3477. these rules shall be that access permission to an object by users not
  3478. already possessing access permission is assigned only by authorized
  3479. users.  These rules shall allow authorized users to specify and
  3480. control sharing of objects by named individuals or defined groups of
  3481. individuals, or by both, and shall provide controls to limit
  3482. propagation of access rights (i.e., these rules shall define the
  3483. distribution, revocation, and review of access control attributes).
  3484. The controls defined by these rules shall be capable of specifying for
  3485. each named object, a list of individuals and a list of groups of named
  3486. individuals, with their respective access rights to that object.
  3487. Furthermore, for each named object, it shall be possible to specify a
  3488. list of named individuals and a list of groups of named individuals
  3489. for which no access to the object is given. These controls shall also
  3490. be capable of specifying access-time dependency (i.e., the effect of
  3491. the distribution and revocation of access control attributes take
  3492. place at a certain time and shall last for a specified period of
  3493. time), and/or access-location dependency (i.e., shall specify the
  3494. locations from which the distribution and revocation of privileges
  3495. shall take place).
  3496.  
  3497. The rules for assignment and modification of access control attributes
  3498. shall include those for attribute assignment to objects during import
  3499. and export operations (e.g., import of non-labeled sensitive data,
  3500. export of labeled information). If different rules of assignment and
  3501. modification of access control attributes apply to different subjects
  3502. and/or objects, the totality of these rules shall be shown to support
  3503. the defined policy.
  3504.  
  3505. 3.        Authorization of Subject References to Objects
  3506.  
  3507. The TCB shall define and enforce authorization rules for the mediation
  3508. of subject references to objects. These rules shall be based on the
  3509. access control attributes of subjects and objects. These rules shall,
  3510. either by explicit user action or by default, provide that objects are
  3511. protected from unauthorized access. These rules shall include
  3512. time-of-access and location-of-access controls defined for subjects
  3513. and objects.
  3514.  
  3515. The scope of the authorization rules shall include all subjects,
  3516. storage objects (e.g., processes, segments, devices) and associated
  3517. access control attributes that are directly or indirectly accessible
  3518. to subjects external to the TCB. If non-discretionary access control
  3519. policies are used that aim to control the flow of information between
  3520. subjects, the scope of the authorization rules shall also include all
  3521. policy and status attributes of subjects and storage objects (e.g.,
  3522. quotas, object existence, size, access time, creation and modification
  3523. time, locked/unlocked).  If different rules apply to different
  3524. subjects and objects, the totality of these rules shall be shown to
  3525. support the defined policy.
  3526.  
  3527. If multiple policies are supported, the authorization rules for each
  3528. policy shall be defined separately. The TCB shall define and enforce
  3529. the composition of policies, including the enforcement of the
  3530. authorization rules (e.g., subject and object type coverage,
  3531. enforcement precedence).
  3532.  
  3533. 4.        Subject and Object Creation and Destruction
  3534.  
  3535. The TCB shall define and enforce rules for the creation and
  3536. destruction of subjects and objects.  The controls defined by these
  3537. rules shall be capable of specifying for each subject and object: (1)
  3538. creation and destruction authorization; (2) object reuse; (3) space
  3539. availability (i.e., storage space shall be available for the creation
  3540. of a subject and object); (4) default subject or object attributes and
  3541. attribute inheritance rules (if any).
  3542.  
  3543. The rules for subject and object creation and destruction shall
  3544. specify their coverage in terms of the types of objects and subjects
  3545. to which they apply. If different rules and conditions apply to
  3546. different subjects and objects, the totality of these rules shall be
  3547. shown to support the defined policy properties.  If multiple policies
  3548. are supported, these rules shall define the composition of policies
  3549. and how the conditions of the subject and object creation and
  3550. destruction are enforced (e.g., subject and object type coverage,
  3551. enforcement precedence).
  3552.  
  3553. 5.        Object Encapsulation
  3554.  
  3555. If the TCB supports mechanisms for object encapsulation, controls must
  3556. be available for: (1) access authorization to encapsulated objects;
  3557. (2) creation of encapsulated subsystems by users; and (3) invocation
  3558. of encapsulated subsystems.
  3559.  
  3560. 4.3.5.1   Rated Covert Channel Handling Components
  3561.  
  3562. Covert channel handling requires that functions must be added to the
  3563. software and/or hardware and firmware elements of a TCB to help deter
  3564. the use of, limit the bandwidth of, or eliminate, covert channels. The
  3565. rating of the covert channel handling components is based both on the
  3566. scope of these requirements and their coverage (e.g., elimination,
  3567. bandwidth limitation, audit, administrative control, applicability to
  3568. timing channels or storage channels). The scope of level CCH- 1 is
  3569. limited to storage channels and the coverage is limited to functions
  3570. that deter covert channel use. Coverage is extended at level CCH-2 by
  3571. the addition of requirements of bandwidth limitation and storage
  3572. channel elimination for common system configurations. Level CCH-3
  3573. extends the requirements of level CCH-2 by including all channels, not
  3574. just covert storage channels.
  3575.  
  3576. CCH-1 Deterrence of Storage Channel Use
  3577.  
  3578. 1.        The TCB and privileged applications shall include functions
  3579. that help audit the use of covert storage channels. These functions
  3580. shall enable the identification of the transmitter, receiver, and
  3581. specific covert channels used (e.g., TCB and privileged application
  3582. element used to transmit information).
  3583.  
  3584. 2.        The functions added to the TCB and privileged applications for
  3585. storage channel auditing shall be identified for each channel and
  3586. shall be available in common product configurations. If audit
  3587. functions are not added to certain storage channels (e.g., hardware
  3588. storage channels), evidence must be provided to justify why these
  3589. channels do not represent a security threat for the intended use of
  3590. the product.
  3591.  
  3592. CCH-2 Storage Channel Audit and Bandwidth Limitation
  3593.  
  3594. 1.        The TCB and privileged applications shall include functions
  3595. that help audit the use of covert storage channels. These functions
  3596. shall enable the identification of the transmitter, receiver, and
  3597. specific covert channels used (e.g., TCB and privileged application
  3598. element used to transmit information). TCB functions that help limit
  3599. the bandwidth and/or eliminate covert storage channels shall also be
  3600. provided. The bandwidth limits for each channel shall be settable by
  3601. system administrators.
  3602.  
  3603. 2.        The functions added to the TCB and privileged applications for
  3604. storage channel auditing shall be identified for each channel and
  3605. shall be available in common product configurations. If audit
  3606. functions are not added to certain storage channels (e.g., hardware
  3607. storage channels), evidence must be provided to justify why these
  3608. channels do not represent a security threat for the intended use of
  3609. the product. TCB and privileged application functions that help limit
  3610. the bandwidth and/or eliminate covert storage channels shall also be
  3611. available in common product configurations.
  3612.  
  3613. If channel bandwidth limitation and channel elimination functions are
  3614. not added to certain storage channels (e.g., hardware storage
  3615. channels), evidence must be provided to justify why these channels do
  3616. not represent a security threat for the intended use of the product.
  3617.  
  3618. CCH-3 Timing Channel Audit and Bandwidth Limitation
  3619.  
  3620. 1.        The TCB and privileged applications shall include functions
  3621. that help audit the use of covert storage channels. These functions
  3622. shall enable the identification of the transmitter, receiver, and
  3623. specific covert channels used (e.g., TCB and privileged application
  3624. element used to transmit information). TCB functions that help limit
  3625. the bandwidth and/or eliminate covert storage channels shall also be
  3626. provided. The bandwidth limits for each channel shall be settable by
  3627. system administrators.
  3628.  
  3629. 2.        The functions added to the TCB and privileged applications for
  3630. storage channel auditing shall be identified for each channel and
  3631. shall be available in common product configurations. If audit
  3632. functions are not added to certain storage channels (e.g., hardware
  3633. storage channels), evidence must be provided to justify why these
  3634. channels do not represent a security threat for the intended use of
  3635. the product. TCB and privileged application functions that help limit
  3636. the bandwidth and/or eliminate covert storage or timing channels shall
  3637. also be available in common product configurations.
  3638.  
  3639. If channel bandwidth limitation and channel elimination functions are
  3640. not added to certain storage or timing channels (e.g., hardware
  3641. channels), evidence must be provided to justify why these channels do
  3642. not represent a security threat for the intended use of the product.
  3643.  
  3644. 4.3.6     Rated Resource Allocation Components
  3645.  
  3646. The resource allocation component rating is concerned with the extent
  3647. and strength of containment control exerted over the availability and
  3648. distribution of product resources. The resource allocation components
  3649. are rated based on the scope of containment (e.g., defined set of
  3650. resources versus all resources) and the coverage of containment (e.g.,
  3651. resource restrictions, control, priorities, audit).
  3652.  
  3653. Level AR-1 defines basic requirements of resource allocation
  3654. restrictions in terms of a specified subset of system resources,
  3655. subjects and objects. Level AR-2 extends the scope of resource control
  3656. to all system resources and increases the coverage of the resource
  3657. allocation features by requiring the auditing and signaling of
  3658. attempted violations of resource allocation limits (or quotas). Level
  3659. AR-3 further extends the coverage of the resource allocation features
  3660. by introducing the requirement for prioritized allocation.
  3661.  
  3662. AR-1 Resource Restrictions
  3663.  
  3664. The TCB shall provide the capability to place restrictions on the
  3665. number of subjects and objects a user may have allocated at any given
  3666. time. The TCB shall control a defined set of system resources (e.g.,
  3667. memory, disk space) such that no one individual user can deny access
  3668. to another user's subject and object space. All subjects, objects, and
  3669. resources shall be defined with default space or time quotas and
  3670. quantity-of- resources attributes.
  3671.  
  3672. AR-2 Complete Resource Control
  3673.  
  3674. The TCB shall provide the capability to place restrictions on the
  3675. number of subjects and objects a user may have allocated at any given
  3676. time. The TCB shall control a defined set of system resources (e.g.,
  3677. memory, disk space) such that no one individual user can deny access
  3678. to another user's subject and object space. All subjects, objects, and
  3679. resources shall be defined with default space or time quota and
  3680. number-of- resources attributes. An individual user shall be unable to
  3681. deny access to any system resource by means of circumventing
  3682. resource-allocation limits, or otherwise manipulating the TCB, so as
  3683. to restrict the TCB's ability to offer services to other users and
  3684. objects.
  3685.  
  3686. AR-3 Prioritized Resource Allocations
  3687.  
  3688. The TCB shall provide the capability to place restrictions on the
  3689. number of subjects and objects a user may have allocated at any given
  3690. time. The TCB shall control a defined set of system resources (e.g.,
  3691. memory, disk space) such that no one individual user can deny access
  3692. to another user's subject and object space. All subjects, objects, and
  3693. resources shall be defined with default space or time quotas and
  3694. quantity-of- resources attributes. An individual user shall be unable
  3695. to deny access to any system resource by means of circumventing
  3696. resource-allocation limits, or otherwise manipulating the TCB, so as
  3697. to restrict the TCB's ability to offer services to other users and
  3698. objects. The TCB shall include resource-allocation priorities among
  3699. the subject attributes. Each subject shall be granted a priority
  3700. against which the TCB shall allocate resources. The TCB shall mediate
  3701. resource- allocation priorities in such a manner that access
  3702. requirements of the TCB and high-priority subjects shall be fulfilled
  3703. first, in a prioritized manner.  All resources within the TCB
  3704. (hardware and software) shall be controlled in pre-assigned blocks.
  3705.  
  3706. 4.3.7     Rated Security Management Components
  3707.  
  3708. The rating of the security-management components is based primarily on
  3709. the coverage, and strength of these components.  For example, level
  3710. SM-3 is considered to be stronger than level SM-2 because the
  3711. separation of administrative and operator roles offers added
  3712. resistance to accidents or misdeeds. Level SM-3 also extends the
  3713. coverage of level SM-2 because it reflects the use of a wider policy
  3714. coverage. Level SM-4 extends the coverage and strength of level SM-3
  3715. because (1) it requires the availability of trusted tools for security
  3716. management (e.g., tools offering a graphical interface to the
  3717. administrator, tools enhancing system administration, and tools
  3718. enabling the administrator to perform consistency checking), and (2)
  3719. it further limits through fine-grain separation of administrative
  3720. roles the potential damage that can be caused by error or misdeed.
  3721.  
  3722. SM-1 Minimal Security Management
  3723.  
  3724. 1.        The TCB shall provide an installation mechanism for the
  3725. setting and updating of its configuration parameters, and for the
  3726. initialization of its protection-relevant data structures before any
  3727. user or administrator policy attributes are defined. It shall allow
  3728. the configuration of TCB internal databases and tables.
  3729.  
  3730. 2.        The TCB shall provide protected mechanisms for displaying and
  3731. modifying the security policy parameters.
  3732.  
  3733. 3.        The TCB shall provide protected mechanisms for manually
  3734. displaying, modifying, or deleting user registration and account
  3735. parameters. These parameters shall include unique user identifiers,
  3736. their account, and their associated user name and affiliation. The TCB
  3737. shall allow the manual enabling and disabling of user identities
  3738. and/or accounts.
  3739.  
  3740. 4.        The TCB shall provide protected mechanisms for routine control
  3741. and maintenance of system resources. That is, it shall allow the
  3742. enabling and disabling of peripheral devices, mounting of removable
  3743. storage media, backing-up and recovering user objects; maintaining the
  3744. TCB hardware and software elements (e.g., on site testing); and
  3745. starting and shutting down the system.
  3746.  
  3747. 5.         The use of the protected mechanisms for system administration
  3748. shall be limited to authorized administrative users.
  3749.  
  3750. SM-2 Basic Security Management
  3751.  
  3752. 1.        The TCB shall provide an installation mechanism for the
  3753. setting and updating of its configuration parameters, and for the
  3754. initialization of its protection-relevant data structures before any
  3755. user or administrator policy attributes are defined. It shall allow
  3756. the configuration of TCB internal databases and tables.
  3757.  
  3758. The TCB shall distinguish between normal mode of operation and
  3759. maintenance mode, and shall provide a maintenance-mode mechanism for
  3760. recovery and system start-up.
  3761.  
  3762. 2.        The TCB shall provide protected mechanisms for displaying and
  3763. modifying the security policy parameters. These parameters shall
  3764. include identification, authentication, system entry and access
  3765. control parameters for the entire system and for individual users.
  3766.  
  3767. The TCB shall have a capability to define the identification and
  3768. authentication policy on a system-wide basis (e.g., password minimum
  3769. and maximum lifetime, password length and complexity parameters). The
  3770. TCB mechanisms shall have the capability to limit: (1) maximum period
  3771. of interactive session inactivity, (2) maximum login or session time,
  3772. and (3) successive unsuccessful attempts to log in to the system.
  3773.  
  3774. If availability policies are supported, the TCB shall provide a
  3775. mechanism to control the availability of system resources via resource
  3776. quotas and quantity-of-resources limits.
  3777.  
  3778. 3.        The TCB shall provide protected mechanisms for manually
  3779. displaying, modifying, or deleting user registration and account
  3780. parameters. These parameters shall include unique user identifiers,
  3781. their account, and their associated user name and affiliation. The TCB
  3782. shall allow the manual enabling and disabling of user identities
  3783. and/or accounts.
  3784.  
  3785. The TCB shall provide a means to uniquely identify security policy
  3786. attributes. It shall also provide a means of listing all these
  3787. attributes for a user, and all the users associated with an attribute.
  3788. It shall be capable of defining and maintaining the security policy
  3789. attributes for subjects including: defining and maintaining privileges
  3790. for privileged subjects, discretionary and non-discretionary
  3791. attributes (e.g., definition and maintenance of group, role, and
  3792. secrecy and/or integrity level membership), and centralized
  3793. distribution, review and revocation of policy attributes.
  3794.  
  3795. 4.        The TCB shall provide protected mechanisms for routine control
  3796. and maintenance of system resources.It shall allow the enabling and
  3797. disabling of peripheral devices, mounting of removable storage media,
  3798. backing-up and recovering user objects; maintaining the TCB hardware
  3799. and software elements (e.g., on site testing); and starting and
  3800. shutting down the system.
  3801.  
  3802. 5.         The use of the protected mechanisms for system administration
  3803. shall be limited to authorized administrative users.
  3804.  
  3805. SM-3 Policy-oriented Security Management
  3806.  
  3807. 1.        The TCB shall provide an installation mechanism for the
  3808. setting and updating of its configuration parameters, and for the
  3809. initialization of its protection-relevant data structures before any
  3810. user or administrator policy attributes are defined. It shall allow
  3811. the configuration of TCB internal databases and tables.
  3812.  
  3813.           The TCB shall distinguish between normal mode of operation and
  3814. maintenance mode, and shall provide a maintenance-mode mechanism for
  3815. recovery and system start-up. This mechanism shall include a means to
  3816. initialize administrative privileges and administrative
  3817. identification, authentication, and system-entry attributes.
  3818.  
  3819. 2.        The TCB shall provide protected mechanisms for displaying and
  3820. modifying the security policy parameters. These parameters shall
  3821. include identification, authentication, system entry and access
  3822. control parameters for the entire system and for individual users.
  3823.  
  3824.           The TCB shall have a capability to define the identification
  3825. and authentication policy on a system-wide basis (e.g., password
  3826. minimum and maximum lifetime, password length and complexity
  3827. parameters). The TCB mechanisms shall have the capability to limit:
  3828. (1) maximum period of interactive session inactivity, (2) maximum
  3829. login or session time, and (3) successive unsuccessful attempts to log
  3830. in to the system. The TCB shall provide an administrative capability
  3831. to specify the authentication method on a per policy- attribute basis
  3832. whenever multiple identification and authentication methods are used;
  3833. e.g., via user passwords, tokens, or biometrics.
  3834.  
  3835.           If the TCB is designed to support multiple login sessions per
  3836. user identity, the administrators shall be able to limit the number of
  3837. simultaneous login sessions on an authorization-attribute basis.
  3838.  
  3839.           The TCB shall also have a capability to limit the successive
  3840. unsuccessful attempts to login from a specific port of entry, and/or
  3841. with a specific user identity or account.
  3842.  
  3843. If availability policies are supported, the TCB shall provide a
  3844. mechanism to control the availability of system resources via resource
  3845. quotas and quantity-of-resources limits.
  3846.  
  3847. 3.        The TCB shall provide protected mechanisms for manually
  3848. displaying, modifying, or deleting user registration and account
  3849. parameters. These parameters shall include unique user identifiers,
  3850. their account, and their associated user name and affiliation. The TCB
  3851. shall allow the automatic disabling of user identities and/ or
  3852. accounts, after a period during which the identity and/or account have
  3853. not been used. The time period shall be administrator specified, with
  3854. a specified default provided. The TCB shall allow the automatic
  3855. re-enabling of disabled user identities and/or accounts after an
  3856. administrator-specified period of time.
  3857.  
  3858. The TCB shall provide a means to uniquely identify security policy
  3859. attributes. It shall also provide a means of listing all these
  3860. attributes for a user, and all the users associated with an attribute.
  3861. It shall be capable of defining and maintaining the security policy
  3862. attributes for subjects including: defining and maintaining privileges
  3863. for privileged subjects, discretionary and non-discretionary
  3864. attributes (e.g., definition and maintenance of group, role, and
  3865. secrecy and/or integrity level membership), and centralized
  3866. distribution, review and revocation of policy attributes.
  3867.  
  3868. 4.        The TCB shall support separate operator and administrator
  3869. functions. The operator functions shall be restricted to those
  3870. necessary for performing routine operations. The operator functions
  3871. shall allow the enabling and disabling of peripheral devices, mounting
  3872. of removable storage media, backing-up and recovering user objects;
  3873. maintaining the TCB hardware and software elements (e.g., on-site
  3874. testing); and starting and shutting down the system.
  3875.  
  3876. 5.         The use of the protected mechanisms for system administration
  3877. shall be limited to authorized administrative users.
  3878.  
  3879. SM-4 Extended Security Management
  3880.  
  3881. 1.        The TCB shall provide an installation mechanism for the
  3882. setting and updating of its configuration parameters, and for the
  3883. initialization of its protection-relevant data structures before any
  3884. user or administrator policy attributes are defined. It shall allow
  3885. the configuration of TCB internal databases and tables.
  3886.  
  3887.           The TCB shall distinguish between normal mode of operation and
  3888. maintenance mode, and shall provide a maintenance-mode mechanism for
  3889. recovery and system start-up. This mechanism shall include a means to
  3890. initialize administrative privileges and administrative
  3891. identification, authentication, and system-entry attributes.
  3892.  
  3893. 2.        The TCB shall provide protected mechanisms for displaying and
  3894. modifying the security policy parameters. These parameters shall
  3895. include identification, authentication, system entry and access
  3896. control parameters for the entire system and for individual users.
  3897.  
  3898.           The TCB shall have a capability to define the identification
  3899. and authentication policy on a system-wide basis (e.g., password
  3900. minimum and maximum lifetime, password length and complexity
  3901. parameters). The TCB mechanisms shall have the capability to limit:
  3902. (1) maximum period of interactive session inactivity, (2) maximum
  3903. login or session time, and (3) successive unsuccessful attempts to log
  3904. in to the system. The TCB shall provide an administrative capability
  3905. to specify the authentication method on a per policy- attribute basis
  3906. whenever multiple identification and authentication methods are used;
  3907. e.g., via user passwords, tokens, or biometrics.
  3908.  
  3909.           If the TCB is designed to support multiple login sessions per
  3910. user identity, the administrators shall be able to limit the number of
  3911. simultaneous login sessions on an authorization-attribute basis.
  3912.  
  3913.           The TCB shall also have a capability to limit the successive
  3914. unsuccessful attempts to login from a specific port of entry, and/or
  3915. with a specific user identity or account.
  3916.  
  3917.           If availability policies are supported, the TCB shall provide
  3918. a mechanism to control the availability of system resources via
  3919. resource quotas and quantity-of-resources limits.
  3920.  
  3921. 3.        The TCB shall provide protected mechanisms for manually
  3922. displaying, modifying, or deleting user registration and account
  3923. parameters. These parameters shall include unique user identifiers,
  3924. their account, and their associated user name and affiliation. The TCB
  3925. shall allow the automatic disabling of user identities and/or
  3926. accounts, after a period during which the identity and/or account have
  3927. not been used. The time period shall be administrator specified, with
  3928. a specified default provided. The TCB shall allow the automatic
  3929. re-enabling of disabled user identities and/or accounts after an
  3930. administrator-specified period of time.
  3931.  
  3932.           The TCB shall provide a means to uniquely identify security
  3933. policy attributes. It shall also provide a means of listing all these
  3934. attributes for a user, and all the users associated with an attribute.
  3935. It shall be capable of defining and maintaining the security policy
  3936. attributes for subjects including: defining and maintaining privileges
  3937. for privileged subjects, discretionary and non-discretionary
  3938. attributes (e.g., definition and maintenance of group, role, and
  3939. secrecy and/or integrity level membership), and centralized
  3940. distribution, review and revocation of policy attributes.
  3941.  
  3942.           The TCB shall provide trusted tools for system administration.
  3943. These shall include: tools for verifying the consistency of the user
  3944. registration and system configuration; tools for verifying the proper
  3945. system installation; tools for verifying that the TCB does not contain
  3946. extraneous programs and data.
  3947.  
  3948.           The TCB shall include tools for determining whether the TCB is
  3949. in a secure initial state after start-up and recovery.
  3950.  
  3951.           The TCB shall include tools for verifying the consistency of
  3952. users, subject, and objects policy attributes (e.g., cross checks
  3953. between subject and object attributes and registered user attributes).
  3954.  
  3955. 4.        The TCB shall support separate operator and administrator
  3956. functions. The operator functions shall be restricted to those
  3957. necessary for performing routine operations. The operator functions
  3958. shall allow the enabling and disabling of peripheral devices, mounting
  3959. of removable storage media, backing-up and recovering user objects;
  3960. maintaining the TCB hardware and software elements (e.g., on-site
  3961. testing); and starting and shutting down the system. The
  3962. administrative functions shall support separate security administrator
  3963. and auditor roles. The TCB shall enable the administrators to perform
  3964. their functions only after taking a distinct auditable action to
  3965. assume an administrator role. Non- security functions that can be
  3966. performed in the security administrative role shall be limited
  3967. strictly to those essential to performing the security role
  3968. effectively.
  3969.  
  3970. 5.         The use of the protected mechanisms and tools for system
  3971. administration shall be limited to authorized administrative users.
  3972.  
  3973. 4.3.8     Rated Reference Mediation Components
  3974.  
  3975. The rating of the reference mediation components are largely based on
  3976. scope and granularity of references. At level RM-1, the scope of
  3977. mediation is limited to a defined subject and object subset (i.e., the
  3978. same subset as that defined by the access control components). At
  3979. level RM-2, the scope of mediation is extended to the complete set of
  3980. subjects and objects. At level RM-3, the granularity of references
  3981. includes defined subsets, or all: (1) objects, (2) object policy
  3982. attributes (e.g., access rights, security levels, quotas); and (3)
  3983. object status attributes (e.g., object existence, length, locking
  3984. state). Level RM-4 is derived by requiring a model of privilege
  3985. mediation. This level extends the coverage of level RM-3 and is
  3986. intended for use in a TCB that can be extended with privileged
  3987. processes of various applications.
  3988.  
  3989. RM-1 Mediation of References to a Defined Subject/Object Subset
  3990.  
  3991. 1.        The TCB shall mediate all references to subjects, objects,
  3992. resources, and services (e.g., TCB functions) described in the TCB
  3993. specifications. The mediation shall ensure that all references are
  3994. directed to the appropriate security-policy functions.
  3995.  
  3996. 2.        Reference mediation shall include references to the defined
  3997. subset of subjects, objects, and resources protected under the TCB
  3998. security policy, and to their policy attributes (e.g., access rights,
  3999. security and/or integrity levels, role identifiers).
  4000.  
  4001. 3.        References issued by privileged subjects shall be mediated in
  4002. accordance with the policy attributes defined for those subjects.
  4003.  
  4004. RM-2 Mediation of References to all Subjects and Objects
  4005.  
  4006. 1.        The TCB shall mediate all references to subjects, objects,
  4007. resources, and services (e.g., TCB functions) described in the TCB
  4008. specifications. The mediation shall ensure that all references are
  4009. directed to the appropriate security-policy functions.
  4010.  
  4011. 2.         Reference mediation shall include control of references to
  4012. all subjects, objects, and resources protected under the TCB security
  4013. policy, and to their policy attributes (e.g., access rights, security
  4014. and/or integrity levels, role identifiers, quotas).
  4015.  
  4016. 3.        References issued by privileged subjects shall be mediated in
  4017. accordance with the policy attributes defined for those subjects.
  4018.  
  4019.  
  4020.  
  4021. RM-3 Mediation of References to Subject and Object Attributes
  4022.  
  4023. 1.        The TCB shall mediate all references to subjects, objects,
  4024. resources, and services (e.g., TCB functions) described in the TCB
  4025. specifications. The mediation shall ensure that all references are
  4026. directed to the appropriate security-policy functions.
  4027.  
  4028. 2.         Reference mediation shall include control of references to
  4029. all subjects, objects, and resources protected under the TCB security
  4030. policy, to their policy (e.g., access rights, security and/or
  4031. integrity levels, role identifiers, quotas) and status attributes
  4032. (e.g., existence, length, locking state).
  4033.  
  4034. 3.        References issued by privileged subjects shall be mediated in
  4035. accordance with the policy attributes defined for those subjects.
  4036.  
  4037. RM-4 Mediation of Privileged Subject References
  4038.  
  4039. 1.        The TCB shall mediate all references to subjects, objects,
  4040. resources, and services (e.g., TCB functions) described in the TCB
  4041. specifications. The mediation shall ensure that all references are
  4042. directed to the appropriate security-policy functions.
  4043.  
  4044. 2.         Reference mediation shall include control of references to
  4045. all subjects, objects, and resources protected under the TCB security
  4046. policy, to their policy (e.g., access rights, security and/or
  4047. integrity levels, role identifiers, quotas) and status attributes
  4048. (e.g., existence, length, locking state).
  4049.  
  4050. 3.        References issued by privileged subjects shall be mediated in
  4051. accordance with the privilege model defined for those subjects.
  4052.  
  4053. 4.3.9     Rated Logical TCB Protection Components
  4054.  
  4055. The rating of the TCB protection components is based on the coverage
  4056. of TCB requirements. Level P-1 of TCB protection has two basic
  4057. requirements, namely TCB isolation and noncircumventability of TCB
  4058. isolation functions. Level P-2 extends the coverage of level P-1 with
  4059. the requirements of ensuring the consistency of TCB global variables
  4060. and the elimination of undesirable TCB dependencies on unprivileged
  4061. user actions. These additional requirements help eliminate large
  4062. classes of TCB penetration means. Level P-3 eliminates an additional
  4063. class of penetration means that is generally more difficult to exploit
  4064. than those classes addressed in the previous two levels. The intent of
  4065. these levels is to reflect increasingly better functions for TCB
  4066. penetration resistance.
  4067.  
  4068. P-1 Basic TCB Isolation
  4069.  
  4070. The TCB shall maintain a domain for its own execution that protects it
  4071. from external interference and tampering (e.g., by reading or
  4072. modification of its code and data structures). The protection of the
  4073. TCB shall provide TCB isolation and noncircumventability of TCB
  4074. isolation functions as follows:
  4075.  
  4076.           1. TCB Isolation requires that (1) the address spaces of the
  4077. TCB and those of unprivileged subjects are separated such that users,
  4078. or unprivileged subjects operating on their behalf, cannot read or
  4079. modify TCB data structures or code, (2) the transfers between TCB and
  4080. non-TCB domains are controlled such that arbitrary entry to or return
  4081. from the TCB are not possible; and (3) the user or application
  4082. parameters passed to the TCB by addresses are validated with respect
  4083. to the TCB address space, and those passed by value are validated with
  4084. respect to the values expected by the TCB.
  4085.  
  4086.           2. Noncircumventability of TCB isolation functions requires
  4087. that the permission to objects (and/or to non-TCB data) passed as
  4088. parameters to the TCB are validated with respect to the permissions
  4089. required by the TCB, and references to TCB objects implementing TCB
  4090. isolation functions are mediated by the TCB.
  4091.  
  4092. P-2 TCB Isolation and Consistency
  4093.  
  4094. The TCB shall maintain a domain for its own execution that protects it
  4095. from external interference and tampering (e.g., by reading or
  4096. modification of its code and data structures). The protection of the
  4097. TCB shall provide TCB isolation and noncircumventability of TCB
  4098. isolation functions as follows:
  4099.  
  4100.           1. TCB Isolation requires that (1) the address spaces of the
  4101. TCB and those of unprivileged subjects are separated such that users,
  4102. or unprivileged subjects operating on their behalf, cannot read or
  4103. modify TCB data structures or code, (2) the transfers between TCB and
  4104. non-TCB domains are controlled such that arbitrary entry to or return
  4105. from the TCB are not possible; and (3) the user or application
  4106. parameters passed to the TCB by addresses are validated with respect
  4107. to the TCB address space, and those passed by value are validated with
  4108. respect to the values expected by the TCB.
  4109.  
  4110.           2. Non-circumventability of TCB isolation functions requires
  4111. that the permission to objects (and/or to non-TCB data) passed as
  4112. parameters to the TCB are validated with respect to the permissions
  4113. required by the TCB, and references to TCB objects implementing TCB
  4114. isolation functions are mediated by the TCB.
  4115.  
  4116. TCB protection shall also maintain the consistency of TCB global
  4117. variables and eliminate undesirable dependencies of the TCB on
  4118. unprivileged subject or user actions.
  4119.  
  4120.           3. Consistency of TCB global variables requires that
  4121. consistency conditions defined over TCB internal variables, objects,
  4122. and functions hold before and after any TCB invocation.
  4123.  
  4124.           4. Elimination of undesirable dependencies of the TCB on
  4125. unprivileged subject actions requires that any TCB invocation by an
  4126. unprivileged subject (or user) input to a TCB call may not place the
  4127. TCB in a state such that it is unable to respond to communication
  4128. initiated by other users.
  4129.  
  4130. P-3 TCB Isolation and Timing Consistency
  4131.  
  4132. The TCB shall maintain a domain for its own execution that protects it
  4133. from external interference and tampering (e.g., by reading or
  4134. modification of its code and data structures). The protection of the
  4135. TCB shall provide TCB isolation and noncircumventability of TCB
  4136. isolation functions as follows:
  4137.  
  4138.           1. TCB Isolation requires that (1) the address spaces of the
  4139. TCB and those of unprivileged subjects are separated such that users,
  4140. or unprivileged subjects operating on their behalf, cannot read or
  4141. modify TCB data structures or code, (2) the transfers between TCB and
  4142. non-TCB domains are controlled such that arbitrary entry to or return
  4143. from the TCB are not possible; and (3) the user or application
  4144. parameters passed to the TCB by addresses are validated with respect
  4145. to the TCB address space, and those passed by value are validated with
  4146. respect to the values expected by the TCB.
  4147.  
  4148.           2. Non-circumventability of TCB isolation functions requires
  4149. that the permission to objects (and/or to non-TCB data) passed as
  4150. parameters to the TCB are validated with respect to the permissions
  4151. required by the TCB, and references to TCB objects implementing TCB
  4152. isolation functions are mediated by the TCB.
  4153.  
  4154. TCB protection shall also maintain the consistency of TCB global
  4155. variables and eliminate undesirable dependencies of the TCB on
  4156. unprivileged subject or user actions.
  4157.  
  4158.           3. Consistency of TCB global variables requires that
  4159. consistency conditions defined over TCB internal variables, objects,
  4160. and functions hold before and after any TCB invocation.
  4161.  
  4162.           4. Elimination of undesirable dependencies of the TCB on
  4163. unprivileged subject actions requires that any TCB invocation by an
  4164. unprivileged subject (or user) input to a TCB call may not place the
  4165. TCB in a state such that it is unable to respond to communication
  4166. initiated by other users.
  4167.  
  4168. Furthermore, TCB protection shall maintain the timing consistency of
  4169. condition checks.
  4170.  
  4171.           5. Timing consistency of condition checks requires that a
  4172. validation check holds at the instant when the TCB action depending on
  4173. that check is performed.
  4174.  
  4175. 4.3.10    Rated Physical TCB Protection Components
  4176.  
  4177. The rating of the physical TCB protection is determined by the
  4178. coverage and strength of the physical protection requirements; i.e.,
  4179. on the ability to prevent, deter, detect, and counter physical attacks
  4180. against the product. Level PP-1 requires the availability of physical
  4181. protection functions and devices to support administrative and
  4182. environment measures of controlling access to the TCB of the product.
  4183. Level PP-2 extends the coverage of this requirement by specifying that
  4184. employed functions and devices shall have the ability to unambiguously
  4185. detect any attempt of physical tampering regardless of its outcome.
  4186. Level PP-3 increases the strength of the physical TCB protection by
  4187. requiring the use of physical countermeasures with well-defined work
  4188. factors.  The intent of these requirements is to distinguish between
  4189. physical protection supporting administrative measures,
  4190. tamper-detection functions, and tamper-resistance functions.
  4191.  
  4192. PP-1 Administrative and Environment Protection
  4193.  
  4194. 1. Administrative procedures and environmental features necessary for
  4195. establishing the physical security of a product's TCB shall be
  4196. defined.
  4197.  
  4198. 2. Product functions and devices necessary to establish physical
  4199. control over the product's TCB shall be identified and provided.
  4200.  
  4201. PP-2 Detection of Physical Attack
  4202.  
  4203. 1. Administrative procedures and environmental features necessary for
  4204. establishing the physical security of a product's TCB shall be
  4205. defined.
  4206.  
  4207. 2.        Product functions and devices necessary to establish physical
  4208. control over the product's TCB shall be identified and provided. TCB
  4209. devices allowing the unambiguous detection of physical tampering shall
  4210. be employed. These devices shall be shown to be physically
  4211. tamper-resistant and noncircumventable.
  4212.  
  4213. PP-3 Physical and Environmental Countermeasures
  4214.  
  4215. 1. Administrative procedures and environmental features necessary for
  4216. establishing the physical security of a product's TCB shall be
  4217. defined.
  4218.  
  4219. 2. Product functions and devices necessary to establish physical
  4220. control over the product's TCB shall be identified and provided. TCB
  4221. devices that provide countermeasures to physical tampering shall be
  4222. employed. The strength of these devices shall be determined based on
  4223. well-defined work factor parameters relevant to the supported
  4224. policies. For confidentiality policies, these devices shall resist
  4225. disclosure via theft, inspection of physical media, wiretapping,
  4226. and/or analysis of product emanations. For integrity policies, these
  4227. devices shall resist modification of hardware functionality and
  4228. modification of stored data via mechanical methods and/or electronic
  4229. jamming. For availability policies, these devices shall resist loss of
  4230. service via anticipated environmental stress (e.g., water damage,
  4231. fire, vibration, impact) or other forms of physical attack.
  4232.  
  4233. 4.3.11    Rated TCB Self Checking Components
  4234.  
  4235. The TCB self-checking components are rated based on the scope of the
  4236. checking performed (i.e., hardware and/or firmware versus software)
  4237. and on the coverage of the checking methods (i.e., periodic or
  4238. continuous checking). At level SC-1, a minimal level of self-checking
  4239. is required (e.g., similar to those currently available on most
  4240. commercial workstations).  Level SC-2 extends these requirements by
  4241. including power-on self tests, loadable tests, and operator-controlled
  4242. tests that are used to periodically validate the correct operation of
  4243. the TCB hardware and/or firmware elements. The scope of these tests is
  4244. extended at level SC-3 by the addition of configurable software and/or
  4245. firmware functions that perform periodic self tests. At level SC-4,
  4246. the self-test coverage is extended by requiring that hardware,
  4247. firmware, and/or software self tests be performed continuously during
  4248. the product operation.
  4249.  
  4250. SC-1 Minimal Self Checking
  4251.  
  4252. Hardware and/or software features shall be provided that can be used
  4253. to periodically validate the correct operation of the on-site hardware
  4254. and firmware elements of the TCB.
  4255.  
  4256. SC-2 Basic Self Checking
  4257.  
  4258. Hardware and/or software features shall be provided that can be used
  4259. to periodically validate the correct operation of the on-site hardware
  4260. and firmware elements of the TCB. These features shall include:
  4261. power-on tests, loadable tests, and operator-controlled tests.
  4262.  
  4263. The power-on tests shall test all basic components of the TCB hardware
  4264. and firmware elements including memory boards and memory
  4265. interconnections; data paths; busses; control logic and processor
  4266. registers; disk adapters; communication ports; system consoles, and
  4267. the keyboard speaker. These tests shall cover all components that are
  4268. necessary to run the loadable tests and the operator-controlled tests.
  4269.  
  4270. The loadable tests shall cover: processor components (e.g., arithmetic
  4271. and logic unit, floating point unit, instruction decode buffers,
  4272. interrupt controllers, register transfer bus, address translation
  4273. buffer, cache, and processor- to-memory bus controller); backplane
  4274. busses; memory controllers; and writable control memory for
  4275. operator-controlled and remote system- integrity testing.
  4276.  
  4277. Operator-controlled tests shall be able to initiate a series of
  4278. one-time or repeated tests, to log the results of these tests and, if
  4279. any fault is detected, to direct the integrity-test programs to
  4280. identify and isolate the failure.
  4281.  
  4282. SC-3 Software-Test Support
  4283.  
  4284. Hardware and/or software features shall be provided that can be used
  4285. to periodically validate the correct operation of the on-site hardware
  4286. and firmware elements of the TCB. These features shall include:
  4287. power-on tests, loadable tests, and operator-controlled tests.
  4288.  
  4289. The power-on tests shall test all basic components of the TCB hardware
  4290. and firmware elements including memory boards and memory
  4291. interconnections; data paths; busses; control logic and processor
  4292. registers; disk adapters; communication ports; system consoles, and
  4293. the keyboard speaker. These tests shall cover all components that are
  4294. necessary to run the loadable tests and the operator-controlled tests.
  4295.  
  4296. The loadable tests shall cover: processor components (e.g., arithmetic
  4297. and logic unit, floating point unit, instruction decode buffers,
  4298. interrupt controllers, register transfer bus, address translation
  4299. buffer, cache, and processor- to-memory bus controller); backplane
  4300. busses; memory controllers; and writable control memory for
  4301. operator-controlled and remote system- integrity testing.
  4302.  
  4303. Operator-controlled tests shall be able to initiate a series of
  4304. one-time or repeated tests, to log the results of these tests and, if
  4305. any fault is detected, to direct the integrity-test programs to
  4306. identify and isolate the failure.
  4307.  
  4308. Configurable software or firmware features shall be provided that can
  4309. be used to validate the correct operation of the on-site software
  4310. elements (i.e., code and data structures) of the TCB. These features
  4311. may include, but are not limited to, checksums and consistency checks
  4312. for TCB elements stored on storage media (e.g., disk-block consistency
  4313. conditions).
  4314.  
  4315. SC-4 Continuous Software-Test Support
  4316.  
  4317. Hardware and/or software features shall be provided that can be used
  4318. to periodically validate the correct operation of the on-site hardware
  4319. and firmware elements of the TCB. These features shall include:
  4320. power-on tests, loadable tests, and operator-controlled tests.
  4321.  
  4322. The power-on tests shall test all basic components of the TCB hardware
  4323. and firmware elements including memory boards and memory
  4324. interconnections; data paths; busses; control logic and processor
  4325. registers; disk adapters; communication ports; system consoles, and
  4326. the keyboard speaker. These tests shall cover all components that are
  4327. necessary to run the loadable tests and the operator-controlled tests.
  4328.  
  4329. The loadable tests shall cover: processor components (e.g., arithmetic
  4330. and logic unit, floating point unit, instruction decode buffers,
  4331. interrupt controllers, register transfer bus, address translation
  4332. buffer, cache, and processor- to-memory bus controller); backplane
  4333. busses; memory controllers; and writable control memory for
  4334. operator-controlled and remote system- integrity testing.
  4335.  
  4336. Operator-controlled tests shall be able to initiate a series of
  4337. one-time or repeated tests, to log the results of these tests and, if
  4338. any fault is detected, to direct the integrity-test programs to
  4339. identify and isolate the failure.
  4340.  
  4341. Configurable software or firmware features shall be provided that can
  4342. be used to validate the correct operation of the on-site software
  4343. elements (i.e., code and data structures) of the TCB. These features
  4344. may include, but are not limited to, checksums and consistency checks
  4345. for TCB elements stored on storage media (e.g., disk-block consistency
  4346. conditions).
  4347.  
  4348. Tests that detect possible inconsistencies of the TCB elements (i.e.,
  4349. data structures and code) shall be performed whenever the content or
  4350. structure of these elements are modified as consequence of a transient
  4351. failure during an unprivileged subject's action.
  4352.  
  4353.  
  4354.  
  4355. 4.3.12    Rated TCB Start-Up and Recovery Components
  4356.  
  4357. The TCB start-up and recovery components are rated based on feature
  4358. coverage; i.e., whether manual (levels TR-1, TR-2) or automatic (level
  4359. TR-3) recovery and start-up in a secure state is provided, and whether
  4360. the loss of user objects during recovery can be minimized (level TR-5)
  4361. or just detected (level TR-4). Primitive forms of secure recovery,
  4362. where potentially all objects are lost during recovery, have a
  4363. narrower coverage than that intended to be provided by automated
  4364. procedures.
  4365.  
  4366. TR-1 Minimal Requirements for Recovery or Start-up
  4367.  
  4368. 1. Procedures and/or mechanisms shall be provided to assure that,
  4369. after a TCB failure or other discontinuity, recovery without
  4370. protection compromise is obtained.
  4371.  
  4372. TR-2 Basic Requirements for Recovery or Start-up
  4373.  
  4374. 1. Procedures and/or mechanisms shall be provided to assure that,
  4375. after a TCB failure or other discontinuity, recovery without
  4376. protection compromise is obtained.
  4377.  
  4378. 2. If automated recovery and start-up is not possible, the TCB shall
  4379. enter a state where the only system access method is via
  4380. administrative interfaces, terminals, or procedures.  Administrative
  4381. procedures shall exist to restore the system to a secure state (i.e.,
  4382. a state in which all the security-policy properties hold).
  4383.  
  4384. TR-3 Automated Recovery or Start-up
  4385.  
  4386. 1. Procedures and/or mechanisms shall be provided to assure that,
  4387. after a TCB failure or other discontinuity, recovery without
  4388. protection compromise is obtained.
  4389.  
  4390. 2. Automated procedures, under the control of the TCB, shall be
  4391. provided to assure that after a system failure, other discontinuity,
  4392. or start-up, a secure state is obtained without undue loss of system
  4393. or user objects. The security policy properties, or requirements, used
  4394. to determine that a secure state is obtained shall be defined.
  4395.  
  4396.  
  4397.  
  4398. TR-4 Object-Loss Detection
  4399.  
  4400. 1. Procedures and/or mechanisms shall be provided to assure that,
  4401. after a TCB failure or other discontinuity, recovery without
  4402. protection compromise is obtained.
  4403.  
  4404. 2. Automated procedures, under the control of the TCB, shall be
  4405. provided to assure that after a system failure, other discontinuity,
  4406. or start-up, a secure state is obtained without undue loss of system
  4407. or user objects. The security policy properties, or requirements, used
  4408. to determine that a secure state is obtained shall be defined.  The
  4409. TCB shall include checkpoint functions for recovery. Upon recovery, it
  4410. shall be possible to discover which user objects are corrupted or
  4411. unaccessible due to the TCB failure, if any, and to automatically
  4412. notify the users.
  4413.  
  4414. TR-5 Object-Loss Minimization
  4415.  
  4416. 1. Procedures and/or mechanisms shall be provided to assure that,
  4417. after a TCB failure or other discontinuity, recovery without
  4418. protection compromise is obtained.
  4419.  
  4420. 2. Automated procedures, under the control of the TCB, shall be
  4421. provided to assure that after a system failure, other discontinuity,
  4422. or start-up, a secure state is obtained without undue loss of system
  4423. or user objects. The security policy properties, or requirements, used
  4424. to determine that a secure state is obtained shall be defined.  The
  4425. TCB shall include checkpoint functions for recovery. Upon recovery, it
  4426. shall be possible to discover which user objects are corrupted or
  4427. unaccessible due to the TCB failure, if any, and to automatically
  4428. notify the users. The TCB functions that can be invoked through the
  4429. TCB interface shall be atomic (i.e., shall have the property that
  4430. either their invocation is completed correctly or the recovered system
  4431. state should be the one immediately prior to the execution of the TCB
  4432. function). The recovered secure state should minimize the corruption
  4433. and inaccessibility of user objects due to the TCB failure.
  4434.  
  4435. 4.3.13    Rated TCB Privileged Operation Components
  4436.  
  4437. The TCB privileged operation components are rated based on the
  4438. granularity of privilege associated with individual TCB functions or
  4439. groups of functions (level PO-1), with modules of TCB functions and
  4440. operations of administrative roles (level PO-2), with individual
  4441. actions (level PO-3), and with individual code sections of an action
  4442. (level PO-4). The intent of these ratings is to separate (1) fine
  4443. granularity of privileges from coarser granularity and (2) the static
  4444. association of privileges with functions and modules from the run-time
  4445. association of privileges with actions (i.e., function invocations)
  4446. and sections of code within actions.  Although the granularity of
  4447. privileges of a product is a design choice, the intent of these
  4448. requirements is to encourage use of fine granularity of privilege and
  4449. run-time association of privileges, at least for the TCB actions of
  4450. bypassing access controls.
  4451.  
  4452. PO-1 Privilege Association with TCB Functions
  4453.  
  4454. 1. TCB privileges needed by individual functions, or groups of
  4455. functions, shall be identified.  Privileged TCB calls or access to
  4456. privileged TCB objects, such as user and group registration files,
  4457. password files, security and integrity- level definition file, role
  4458. definition file, or audit-log file shall also be identified.
  4459.  
  4460. 2. The identified privileged functions of a TCB functional component
  4461. shall be associated only with the privileges necessary to complete
  4462. their task.
  4463.  
  4464. PO-2 Privilege Association with TCB Modules
  4465.  
  4466. 1. TCB privileges needed by individual functions, or groups of
  4467. functions, of a functional component shall be identified. Privileged
  4468. TCB calls or access to privileged TCB objects, such as user and group
  4469. registration files, password files, security and integrity-level
  4470. definition file, role definition file, audit-log file shall also be
  4471. identified. It shall be possible to associate TCB privileges with TCB
  4472. operations performed by administrative users.
  4473.  
  4474. 2.The modules of a TCB function shall be associated only with the
  4475. privileges necessary to complete their task.
  4476.  
  4477. 3. Support for product privilege implementation and association with
  4478. TCB modules provided by lower-level mechanisms or procedures (e.g.,
  4479. operating system, processors, language) shall be provided.
  4480.  
  4481. PO-3 Privilege Association with Individual Actions
  4482.  
  4483. 1. TCB privileges needed by individual functions, or groups of
  4484. functions, of a functional component shall be identified. Privileged
  4485. TCB calls or access to privileged TCB objects, such as user and group
  4486. registration files, password files, security and integrity-level
  4487. definition file, role definition file, audit-log file shall also be
  4488. identified. It shall be possible to associate TCB privileges with TCB
  4489. operations performed by administrative users.
  4490.  
  4491.  2. The modules of a TCB function shall be associated only with the
  4492. privileges necessary to complete their task.TCB privileges needed by
  4493. individual actions of a module (i.e., function invocations) shall be
  4494. identified (e.g., privileges shall be assigned to actions that bypass
  4495. access controls, such as disclosure and modification of user objects).
  4496. Each action shall be associated only with the privileges necessary to
  4497. complete its task.
  4498.  
  4499. 3. Support for product privilege implementation and association with
  4500. TCB actions provided by lower-level mechanisms or procedures (e.g.,
  4501. operating system, processors, language) shall be provided.
  4502.  
  4503. PO-4 Dynamic Privilege Association with Individual Actions
  4504.  
  4505. 1. TCB privileges needed by individual functions, or groups of
  4506. functions, of a functional component shall be identified. Privileged
  4507. TCB calls or access to privileged TCB objects, such as user and group
  4508. registration files, password files, security and integrity-level
  4509. definition file, role definition file, audit-log file shall also be
  4510. identified. It shall be possible to associate TCB privileges with TCB
  4511. operations performed by administrative users.
  4512.  
  4513. 2. TCB privileges needed by actions of a functional component (i.e.,
  4514. function invocations) shall be identified (e.g., privileges shall be
  4515. assigned to actions that bypass access controls, such as disclosure
  4516. and modification of user objects). Each action shall be associated
  4517. only with the privileges necessary to complete its task. The
  4518. identified TCB privileges shall be used by each functional component
  4519. to restrict the propagation of errors and failures of security
  4520. mechanisms that may lead to protection policy violations. TCB
  4521. functions allowing each component to acquire individual privileges up
  4522. to the maximum necessary and allowed, and to drop those privileges
  4523. (e.g., functions implementing privilege bracketing) shall be defined.
  4524. These functions shall be used to limit the use of privileges that
  4525. allow the bypassing of security policy controls within the TCB.
  4526.  
  4527. 3.        Support for product privilege implementation and association
  4528. with TCB actions provided by lower- level mechanisms or procedures
  4529. (e.g., operating system, processors, language) shall be provided.
  4530.  
  4531. 4.3.14    Rated TCB Ease-of-Use Components
  4532.  
  4533. The rating of the TCB ease of use components reflects the scope and
  4534. coverage of the protection functions in covering common product
  4535. configurations. At level EU-1, the requirements reflect the general
  4536. need for special administrative functions, not merely using an editor
  4537. to modify administrative files or default options for security
  4538. parameters. The coverage of the ease-of-use requirements is extended
  4539. at level EU-2 by providing for fail-safe defaults and user-settable
  4540. defaults for defined (privileged and unprivileged) subjects and
  4541. objects, and the means by which applications can protect themselves
  4542. and their objects from unauthorized use. The scope of the requirements
  4543. is extended at levels EU-3 and EU-4 by enlarging the set of subjects
  4544. and objects affected by this requirement to include subjects and
  4545. objects of common configurations, and all subjects and objects,
  4546. respectively.
  4547.  
  4548. EU-1 Ease of Security Management
  4549.  
  4550. 1. The TCB shall provide well-defined actions to undertake
  4551. administrative functions. Default options shall be provided for
  4552. security parameters of administrative functions.
  4553.  
  4554. EU-2 Ease of Application Programming
  4555.  
  4556. 1. The TCB shall provide well-defined actions to undertake
  4557. administrative functions. Default options shall be provided for
  4558. security parameters of administrative functions.
  4559.  
  4560. The TCB shall include fail-safe defaults for the policy attributes of
  4561. the defined subjects and objects, as well as user-settable defaults
  4562. for the defined subjects and objects.
  4563.  
  4564. 2. The TCB shall provide well-defined application programming
  4565. interfaces and programming functions (e.g., libraries) for all its
  4566. policies to support the development of applications that can define
  4567. and enforce security policies on application- controlled subjects and
  4568. objects. The TCB shall enable user-controlled reduction of access
  4569. rights available to applications.
  4570.  
  4571. EU-3 Common Configuration Coverage
  4572.  
  4573. 1. The TCB shall provide well-defined actions to undertake
  4574. administrative functions. Fail-safe default options shall be provided
  4575. for security parameters of administrative functions.
  4576.  
  4577. The TCB shall include fail-safe defaults for the policy attributes of
  4578. subjects, objects (e.g., devices) and services used in common system
  4579. configurations, as well as user-settable defaults for these subjects
  4580. and objects.
  4581.  
  4582. 2. The TCB shall provide well-defined application programming
  4583. interfaces and programming functions (e.g., libraries) for all its
  4584. policies to support the development of applications that can define
  4585. and enforce security policies on application- controlled subjects and
  4586. objects. The TCB shall enable user-controlled reduction of access
  4587. rights available to applications.
  4588.  
  4589. EU-4 Complete Configuration Coverage
  4590.  
  4591. 1. The TCB shall provide well-defined actions to undertake
  4592. administrative functions. Fail-safe default options shall be provided
  4593. for security parameters of administrative functions.
  4594.  
  4595. The TCB shall include fail-safe, user-settable defaults for the policy
  4596. attributes of all subjects, objects (e.g., devices), and services.
  4597.  
  4598. 2. The TCB shall provide well-defined application programming
  4599. interfaces and programming functions (e.g., libraries) for all its
  4600. policies to support the development of applications that can define
  4601. and enforce security policies on application- controlled subjects and
  4602. objects. The TCB shall enable user-controlled reduction of permissions
  4603. available to applications.
  4604.  
  4605. 4.4       Bibliographic Notes
  4606.  
  4607. TBD.  
  4608.  
  4609. Chapter 5.
  4610.  
  4611. DEVELOPMENT ASSURANCE REQUIREMENTS
  4612.  
  4613. 5.1       Overview
  4614.  
  4615. Development assurance is concerned with showing that a specific IT
  4616. product satisfies the functional requirements of a protection profile.
  4617. This chapter defines assurance requirements that are used in
  4618. protection profiles to define an IT product developer's (i.e.,
  4619. producer's) responsibilities in establishing the correctness of the
  4620. product's security functions. These requirements are partitioned into
  4621. components that identify unique concerns a developer must address
  4622. during the product design, implementation, documentation, support, and
  4623. maintenance. By addressing these concerns, the developer can increase
  4624. consumer and evaluator confidence that the product satisfies the
  4625. functional requirements of a protection profile. Varying degrees of
  4626. confidence can be established using different combinations and subsets
  4627. of the assurance components.
  4628.  
  4629. The assurance components defined in this standard have evolved from
  4630. computer security and engineering experience in demonstrating the
  4631. correctness of IT hardware and software protection functions. The
  4632. components also include requirements of existing criteria and reflect
  4633. the interpretations of those requirements in practice during the past
  4634. decade. The components are specified in a product- independent manner
  4635. and, thus, are applicable to a wide set of products and protection
  4636. functions. To enable the profile developers to establish varying
  4637. degrees of confidence in the correctness of product protection
  4638. functions, each assurance component is rated based on a set of
  4639. well-defined parameters.  These ratings can also help establish the
  4640. relationships between, and the harmonization of, the assurance
  4641. requirements defined by this standard and those of existing standards.
  4642.  
  4643. This chapter is divided into four sections. The remainder of this
  4644. section defines four classes of development assurance components and
  4645. describes the types of components in each class. The second section
  4646. presents a description of each type of assurance component. The third
  4647. section contains the rated assurance components. The last section
  4648. includes a bibliography of useful literature references. (Appendices D
  4649. and E present some of the technical underpinnings used in deriving the
  4650. requirements of the modular decomposition and penetration analysis
  4651. components.)
  4652.  
  4653. Classes of Development Assurance. The development assurance components
  4654. have been partitioned into four classes reflecting distinct product
  4655. development tasks: (1) development process, (2) operational support,
  4656. (3) development environment, and (4) development evidence. The four
  4657. classes, and associated components, are illustrated in Figure 5
  4658.  
  4659. Development Process. The development process class consists of the
  4660. following four assurance components that identify specific activities
  4661. the developer must undertake during the design, implementation, and
  4662. analysis of an IT product: (1) TCB property identification, (2) TCB
  4663. design, which includes TCB element identification, interface
  4664. definition, modular decomposition, structuring support, and design
  4665. disciplines used, (3) TCB implementation support, and (4) TCB testing
  4666. and analysis, which includes security functional testing, penetration
  4667. analysis, and covert channel analysis. Since the development process
  4668. includes the primary assurances for the correct implementation of
  4669. protection functions, its components are included in most profiles.
  4670. The selection of different component levels within a profile is
  4671. determined by the assurance goals established for the profile, by the
  4672. dependencies among assurance components, and by the dependencies
  4673. between the profile functional and assurance components.
  4674.  
  4675. Operational Support. The operational support class consists of
  4676. assurance components that a developer must satisfy to enable users to
  4677. operate the product securely. This class includes the following four
  4678. components: (1) user guidance, (2) administrative guidance, (3) flaw
  4679. remediation, and (4) trusted generation. These components require the
  4680. developer to convey clearly the operational procedures for TCB
  4681. generation, installation, operation, and flaw correction. They also
  4682. require the developers to provide tools and/or procedures to properly
  4683. install and configure the product. The first two components of this
  4684. class are included in all profiles whereas the last two are included
  4685. in profiles that target medium and high-assurance products. The
  4686. selection of different component levels within a profile is largely
  4687. determined by assurance goals and by the dependencies among assurance
  4688. components.
  4689.  
  4690. Development Environment. The development environment class consists of
  4691. assurance components that refer to quality of the development,
  4692. maintenance, and distribution-control process for secure products.
  4693. This class includes the following three components: (1) life cycle
  4694. definition, (2) configuration management, and (3) trusted distribution
  4695. of the product. These components require that the developer enforces a
  4696. discernible engineering process to develop and maintain a product,
  4697. establishes control over the product configuration during development
  4698. and maintenance, and employs technical measures for the detection or
  4699. prevention of uncontrolled TCB modification during product
  4700. distribution. A key assurance aspect of these components is the extent
  4701. to which the development process and operational support requirements
  4702. are integrated into the developer's engineering processes. The
  4703. development environment components are included in profiles that
  4704. target medium and high-assurance products. The selection of different
  4705. component levels within a profile is largely determined by assurance
  4706. goals and by the dependencies among assurance components.
  4707.  
  4708. Development Evidence. The development evidence class consists of
  4709. assurance components that describe the documentation that a developer
  4710. must produce and maintain to show that the other assurance
  4711. requirements have been satisfied. The components of the development
  4712. evidence class establish the level of detail and scope of the
  4713. developer documentation and include requirements for evidence of: (1)
  4714. TCB protection properties, (2) product design and implementation, (3)
  4715. product testing and analysis, and (4) product support. These
  4716. components are included in all profiles. The selection of different
  4717. component levels within a profile is determined exclusively by the
  4718. dependencies among assurance components, since these levels must
  4719. mirror to a large extent the levels of the other development assurance
  4720. components.
  4721.  
  4722. 5.2       Development Assurance Components
  4723.  
  4724. 5.2.1     Development Process
  4725.  
  4726. 5.2.1.1   TCB Property Identification
  4727.  
  4728. The identification of TCB properties is the prima facie assurance that
  4729. the consistency of the TCB's behavior with respect to the protection
  4730. profile's functional requirements can be established. These properties
  4731. are the baseline set of protection claims for a TCB. They enable the
  4732. generation of test conditions for security policy analysis and
  4733. penetration testing. They also help define the IT product's protection
  4734. capabilities in product documentation.
  4735.  
  4736. The first step to demonstrate that a product satisfies the functional
  4737. requirements of a protection profile is to produce the description of
  4738. the TCB protection properties. This is achieved by (1) identification
  4739. of the TCB elements intended to implement the functional requirements,
  4740. and (2) justification of how and why the identified elements implement
  4741. these requirements. Repeating this step for each functional
  4742. requirement of a protection profile produces a description of the set
  4743. of protection properties. Since a functional requirement can be
  4744. satisfied by different product architectures and operating systems,
  4745. the set of protection properties will illustrate both the developer's
  4746. philosophy of protection and the protection architecture choices made.
  4747.  
  4748. Demonstrating the consistency of the TCB behavior with the
  4749. requirements of the profile functional components can be performed
  4750. with different degrees of rigor. For example, consistency verification
  4751. can be performed by an informal process of tracing the requirements
  4752. within a product's TCB and providing a simple description of the
  4753. claimed TCB property.  This informal process relies primarily on
  4754. informal functional requirements (i.e., as provided by the protection
  4755. profile) and on descriptions of TCB elements. The primary assurance
  4756. gained from this informal process is derived from the consistency and
  4757. coherence of the profile requirements, and from the explanation of why
  4758. the TCB elements satisfy those requirements. This explanation will
  4759. reveal whether the developer's interpretation of the profile
  4760. functional requirements in the product TCB is valid.
  4761.  
  4762. The degree of rigor with which the demonstration of consistency
  4763. between the TCB elements and the functional requirements can be
  4764. performed increases whenever formal or informal models of the
  4765. functional requirements are used.  Models capture the essence of the
  4766. functional requirements by providing policy properties that must be
  4767. maintained by the TCB. For example, the Bell-LaPadula Model contains
  4768. two policy properties of mandatory access control. These examples are
  4769. the *-property (star property), which allows a subject write access to
  4770. an object only if the security level of the subject equals that of the
  4771. object, and the simple security condition, which allows a subject read
  4772. access to an object only if the security level of the subject
  4773. dominates that of the object. A discretionary access control model may
  4774. have a policy property stating that "only the owner of an object can
  4775. distribute or review permissions to that object." A TCB isolation
  4776. model may have an isolation property stating that "a parameter passed
  4777. by address to a TCB function invocation may only refer to the
  4778. invoker's space, and not to the TCB space or to another subject
  4779. space."
  4780.  
  4781. Tracing precise requirement properties among the TCB elements is
  4782. likely to be significantly more effective than tracing profile
  4783. requirement descriptions, which are informally expressed. However, the
  4784. precision with which the requirement properties are expressed by a
  4785. model generally depends on the type of model and the degree of model
  4786. formalism. Furthermore, the tracing process itself also depends on the
  4787. degree of precision and formalism with which the TCB elements are
  4788. described. For example, precision is enhanced by providing Descriptive
  4789. Interface Specifications (DIS) instead of informal descriptions of the
  4790. TCB interface found in product reference manuals, or by providing
  4791. Formal Interface Specifications (FIS) instead of the DIS. The use of
  4792. formal models and DIS/FIS of the TCB makes it possible to perform the
  4793. tracing process by (in)formally interpreting the requirements model in
  4794. the DIS/FIS. By showing that a documented (in)formal interpretation of
  4795. a requirement model in a TCB is valid, the properties of the TCB can
  4796. be stated (in)formally with a higher degree of rigor.
  4797.  
  4798. 5.2.1.2   TCB Design
  4799.  
  4800. The TCB design component comprises several subcomponents that provide
  4801. product development assurance. These subcomponents are (1) element
  4802. identification, (2) interface definition, (3) modular decomposition,
  4803. (4) structuring support, and (5) design disciplines. Details of each
  4804. component follow.
  4805.  
  4806. 5.2.1.2.1 TCB Element Identification
  4807.  
  4808. The importance of the TCB element identification as an assurance
  4809. component derives from the fact that all other assurance methods rely
  4810. on it either directly or indirectly.  Intuitively, the TCB includes
  4811. all code and data structures that implement protection functions of a
  4812. TCB (i.e., functional components). Although this intuitive definition
  4813. of the TCB elements is precise, in practice the identification of
  4814. these elements can be a challenging activity for the following three
  4815. reasons.
  4816.  
  4817. First, TCBs may include code and data structures that are irrelevant
  4818. to the protection components. In practice, products often implement
  4819. functions and mechanisms that include security irrelevant elements and
  4820. whose main purpose is not protection. Separating the protection
  4821. relevant from the irrelevant elements within these functions can
  4822. sometimes be a very difficult task because of the complexity and
  4823. performance implications of the interfaces that are introduced between
  4824. the protection relevant and irrelevant elements of a function.
  4825. Although desirable for assurance purposes, in general, it may be
  4826. impractical to remove all security irrelevant code from the TCB.
  4827.  
  4828. Second, the TCB is defined with respect to a set of protection
  4829. requirements and a set of assurances necessary to demonstrate that the
  4830. TCB satisfies those requirements. A product may include protection
  4831. functions for which assurance is not required. Nevertheless, these
  4832. protection functions in practice become part of the TCB since they
  4833. affect the overall behavior of the product in other environments. For
  4834. example, separating different TCBs for functions implementing
  4835. different security policies may be impractical. The TCB of a product
  4836. may include protection functions to support confidentiality,
  4837. integrity, and availability to various degrees, but the only required
  4838. policy support assurances may be for confidentiality. Providing a
  4839. separate TCB for availability and integrity components is impractical
  4840. for most products and unjustifiable, based on the incremental
  4841. assurance benefits that might be derived from the removing these
  4842. components from the confidentiality TCB. In practice, the
  4843. determination of which components must be included in a TCB cannot be
  4844. made exclusively based on the specific-policy relevance of the code
  4845. and data structures.
  4846.  
  4847. Third, sometimes it is challenging to determine whether a functional
  4848. component is security-policy relevant without the benefit of a formal
  4849. model of a security policy. For example, if a formal state-transition
  4850. model is available, any TCB function whose execution may cause a state
  4851. transition is, by definition, security-relevant. However, in the
  4852. absence of a formal model, one can determine whether a function is
  4853. security-policy relevant only if the function implements security
  4854. policy checks. Among the functions that invoke other functions
  4855. implementing security or accountability checks indirectly, few are
  4856. required to be part of the TCB since, by definition, they could be
  4857. placed outside the TCB and could invoke a TCB system call.
  4858.  
  4859. Since many of the IT product TCBs will include both
  4860. protection-relevant and irrelevant elements, the identification of
  4861. these elements (1) must separate the protection-relevant elements from
  4862. the irrelevant ones (if any), and (2) must provide a rationale for the
  4863. retention of the protection-irrelevant elements within the TCB.
  4864.  
  4865. 5.2.1.2.2 TCB Interface Definition
  4866.  
  4867. To analyze the protection of the TCB domain, one must first define
  4868. interface of the TCB to external subjects. This interface establishes
  4869. the boundary between the TCB elements and unprivileged subjects. The
  4870. TCB protection behavior is defined at this interface.
  4871.  
  4872. The definition of the TCB interface is required by several assurance
  4873. methods, including security and penetration analysis and testing,
  4874. interpretation of security requirements and models within a TCB, and
  4875. covert channel analysis and testing. Establishing the TCB interface
  4876. requires that all TCB elements be identified to determine whether they
  4877. present an interface (i.e., are visible) to an unprivileged subject.
  4878.  
  4879. The TCB interfaces typically consist of several components including
  4880. (1) the command interfaces, (2) the application programming interfaces
  4881. (i.e., system calls), and (3) the machine/processor interface (i.e.,
  4882. processor instructions).  The command interface consists of the set of
  4883. TCB commands that can be input via user-oriented devices such as
  4884. keyboards, mouse devices, and joysticks; other command interfaces to a
  4885. TCB may include various sensor input interfaces for real-time devices
  4886. and processes external to the TCB. The application programming
  4887. interface consists of all the TCB system calls that an application
  4888. program can make, to include the signal, trap, and fault interfaces
  4889. which an application program may invoke. Similarly, the
  4890. machine/processor interface to the TCB consists of all instructions
  4891. that refer to TCB internal data structures, (e.g., memory registers,
  4892. segment and page tables), and processor registers (e.g., process
  4893. status registers, segment, page table, capability, cache, and
  4894. address-translation registers).
  4895.  
  4896. Determining the TCB interface cannot be simply performed by listing
  4897. all commands, system calls, and processor instructions. Not all
  4898. commands, system calls, or instructions may, in fact, represent a TCB
  4899. interface. For example, some commands and library calls may refer to
  4900. programs and data structures that are in user space. Similarly, some
  4901. instructions may refer to operands that are already loaded into
  4902. user-addressable registers and, therefore, need not include memory
  4903. protection checks. Some command and application program interfaces may
  4904. overlap and not represent distinct TCB interfaces. For example, two
  4905. distinct command interfaces that are implemented by command processors
  4906. running in user space may invoke the same application program
  4907. interfaces of the TCB. Consequently, the two distinct commands do not
  4908. provide distinct TCB interfaces. In some products, the TCB includes
  4909. the entire application and presents a command interface to its users
  4910. with no distinct application program interface or processor interface.
  4911. For example, in some real- time, process-control systems, the external
  4912. TCB interface may represent sensor input, but no external user or
  4913. application program input. In this case the TCB components and the TCB
  4914. external interface must still be identified because of attempts by
  4915. external processes to provide the sensor input.
  4916.  
  4917. The TCB interface definition requires that all TCB functions which are
  4918. visible outside the TCB be defined, including their calling
  4919. conventions, parameters, parameter types, order, and exceptions
  4920. signalled. The parameter types must include, in addition to the call
  4921. parameters, all of the subjects, objects, and access control
  4922. attributes affected by that call. Whenever covert channel analysis,
  4923. penetration analysis, and resource- constraint analysis are required,
  4924. the TCB interface definition must also include all effects of a call,
  4925. including the direct visibility and alterability of internal TCB
  4926. variables and functions. In these cases, the traditional definitions
  4927. of TCB interfaces provided in product reference manuals must be
  4928. augmented by additional elements. In all cases, all TCB interfaces
  4929. must be included. No interface may remain undocumented, and no
  4930. temporary interfaces for testing or performance monitoring, for
  4931. example, should be included.
  4932.  
  4933. 5.2.1.2.3  TCB Modular Decomposition
  4934.  
  4935. Modular design and implementation constitutes a sound engineering
  4936. practice in general, and therefore, this technique represents sound
  4937. engineering practice for IT product development assurance. Reading,
  4938. understanding, maintaining, testing, and evolving a software product
  4939. is helped by modularity. "Understanding" includes identifying product
  4940. parts and their relationships, and determining important product
  4941. properties. Although modular design and implementation is not a
  4942. security-specific assurance, products that employ it offer the
  4943. following assurance advantages: (1) an incremental, divide-and-conquer
  4944. approach to determining correctness properties; (2) an incremental,
  4945. divide-and- conquer approach to product development, with many
  4946. individuals per development team possible; (3) replacement
  4947. independence of product parts based on well-defined interfaces and
  4948. uniform reference (i.e., references to modules need not change when
  4949. the modules change); and (4) an intuitive packaging of product
  4950. components with ease of navigation through the product, module by
  4951. module.
  4952.  
  4953. Appendix D provides some of the technical underpinnings used in
  4954. deriving the requirements of the TCB modular decomposition.
  4955.  
  4956. 5.2.1.2.4 TCB Structuring Support
  4957.  
  4958. The TCB structuring using modular decomposition is necessary for
  4959. understanding, maintaining, testing, and evolving a product. However,
  4960. the modular decomposition does not necessarily reflect the run-time
  4961. enforcement of TCB structuring since the separation of modules may not
  4962. necessarily be supported by run-time mechanisms. The run-time
  4963. enforcement of internal TCB structuring adds a measure of assurance
  4964. that the TCB elements that are critical to the enforcement of the
  4965. protection functions are separated from non-critical elements. Also,
  4966. the use of run-time enforcement of TCB structuring helps separate
  4967. protection-critical elements of the TCB from each other, thereby
  4968. helping enforce the separation of protection concerns and minimizing
  4969. the common mechanisms shared between protection critical elements.
  4970.  
  4971. Run-time enforcement of TCB structuring is useful in cases when
  4972. compile-time structuring either cannot be enforced (e.g., the
  4973. programming language does not enforce modular decomposition) or can be
  4974. circumvented by transient hardware failures. In either case, software
  4975. errors may propagate through the entire TCB and corrupt
  4976. protection-critical elements. However, run-time enforcement of TCB
  4977. structuring is not considered to be a protection function because it
  4978. does not directly counter any security threat posed by unprivileged
  4979. subjects. Unlike the support for the least-privilege TCB operation,
  4980. which reduces the possibility that the penetration of a TCB functional
  4981. component affects other components, the run-time support for TCB
  4982. structuring has no direct protection use. Use of processor mechanisms
  4983. to support TCB structuring is desirable for minimizing the performance
  4984. penalties that will undoubtedly arise if these mechanisms were
  4985. provided by run-time software.
  4986.  
  4987. A key assurance requirement for run-time mechanisms that support TCB
  4988. structuring is that of conceptual simplicity and well-defined
  4989. semantics. Conceptually simple mechanisms are generally easy to
  4990. understand, and describe, define, or formally specify. Well-defined
  4991. semantics enable the rigorous analysis of TCB structuring and increase
  4992. the confidence that the internal TCB structuring is enforced
  4993. correctly. The use of architecture features for run-time enforcement
  4994. of TCB structuring into security kernels and privileged processes
  4995. ranges from process-isolation features to the use of ring or
  4996. domain-of-protection mechanisms. Among the architecture and operating
  4997. system features employed for enforcing the TCB structuring,
  4998. segmentation and paging has been used to separate logically distinct
  4999. storage objects with separate access- control attributes. The
  5000. separation of subsystem and module data structures and code within a
  5001. TCB is sometimes supported by ring or domain-of-protection mechanisms
  5002. with separate entry point support and protection (illustrated by ring
  5003. or domain gates). Thus, the TCB can be described in terms of the
  5004. different rings or domains of protection it employs for its
  5005. structuring into subsystems and modules, and in terms of the
  5006. segmentation or paging mechanisms it employs for structuring its
  5007. internal code and data structures into logically distinct storage
  5008. objects.
  5009.  
  5010. 5.2.1.2.5 TCB Design Disciplines
  5011.  
  5012. Modularly decomposing the TCB provides many benefits.  However, it
  5013. does not minimize the complexity of the TCB or remove the
  5014. protection-irrelevant elements from the TCB.  Leaving
  5015. protection-irrelevant elements within a TCB necessarily results in a
  5016. significantly larger assurance effort because these elements must be
  5017. included in the TCB's analysis. Furthermore, modularly decomposing the
  5018. TCB does not necessarily minimize the sharing of global variables
  5019. between modules (i.e., the data structures used in a module need not
  5020. be "hidden" within the module), and does not necessarily help layer
  5021. the TCB (e.g., the cyclic dependencies among TCB modules cause lower
  5022. layers to require services of higher layers).  Consequently, the
  5023. analysis of the TCB could become very complex for medium size (e.g.,
  5024. 500K to 1M lines of source code) or large products (e.g., over 1M
  5025. lines of source code).
  5026.  
  5027. Several design disciplines enable the rigorous analysis of TCB
  5028. security properties which is necessary for high-assurance products.
  5029. First, the complexity of the TCB must be reduced by minimizing the
  5030. number of protection-irrelevant elements that are left within the TCB.
  5031. This requirement, together with the functional requirements of
  5032. reference mediation and TCB protection, is the basis for demonstrating
  5033. that the TCB implements the reference validation mechanism, which is
  5034. important for the rigorous analysis of access control policy
  5035. implementations (see Appendix B).
  5036.  
  5037. Second, the TCB structuring must employ the use of data hiding to
  5038. minimize the sharing of global variables within the TCB.  This
  5039. requirement, together with the use of other design abstractions such
  5040. as functional and control abstractions, significantly enhances the
  5041. ability to structure the modules of a TCB into sets of (ordered)
  5042. layers and to precisely determine the protection properties of those
  5043. layers (e.g., derive abstraction and layer properties). As a result,
  5044. the formal analysis of the TCB modules becomes possible.
  5045.  
  5046. Third, extensive use of high-level synchronization constructs, such as
  5047. monitors and message passing, makes the analysis of the TCB behavior
  5048. possible despite the occurrence of asynchronous events. Further
  5049. structuring of TCB processes into threads decreases the cost of using
  5050. processes as a TCB structuring mechanism, thereby enhancing the
  5051. development of TCBs containing small independent modules sharing
  5052. process space.
  5053.  
  5054. 5.2.1.3   Implementation Support
  5055.  
  5056. The implementation support component is an assurance method that can
  5057. be used to simplify the task of establishing the correspondence
  5058. between the product as built and the product design. The ultimate test
  5059. of the development process applied to a TCB is how well the TCB
  5060. implementation satisfies the protection profile requirements. Testing
  5061. can establish that the TCB implementation exhibits at least the
  5062. properties needed to satisfy the profile requirements. Analysis,
  5063. however, is needed to establish that the implementation does no more
  5064. than the profile requires. At a minimum, a complete analysis requires
  5065. that the source code be available. For more detailed analysis, the
  5066. system architecture and design are also necessary to simplify the task
  5067. of tracking the required TCB properties from requirements down to
  5068. implementation. As more rigor is brought to the process of design,
  5069. more analysis can be done at higher levels of abstraction. To complete
  5070. the chain and effectively leverage the previous analysis, the
  5071. implementation should be organized and packaged in the same manner as
  5072. the design to simplify the process of mapping the design to the
  5073. implementation.
  5074.  
  5075. 5.2.1.4   TCB Testing and Analysis
  5076.  
  5077. A significant measure of product development assurance is derived from
  5078. the methods used to test and analyze a TCB provides. These methods,
  5079. which include (1) functional testing, (2) penetration analysis, and
  5080. (3) covert channel analysis, are described below.
  5081.  
  5082. 5.2.1.4.1 Functional Testing
  5083.  
  5084. Functional testing is an assurance method for establishing that the
  5085. TCB interface exhibits the properties necessary to satisfy the
  5086. requirements of its protection profile.  Functional testing is
  5087. especially valuable in providing assurance that the TCB satisfies at
  5088. least its functional protection requirements. It does establish that
  5089. the TCB does no more than expected. The developer's functional testing
  5090. objective is to uncover all design and implementation flaws that would
  5091. enable a user external to the TCB to violate the product security
  5092. policy. Such flaws would invalidate the developer's claim of
  5093. compliance with the protection profile.  The developer should perform
  5094. functional testing whenever the TCB changes as a result of design
  5095. analysis, independent evaluation, product evolution, or repair of
  5096. security flaws identified by either consumers or previous functional
  5097. testing.
  5098.  
  5099. All approaches to security functional testing require the following
  5100. four major steps:
  5101.  
  5102. Test plan development. The test plans consist of test conditions, test
  5103. data including the expected test outcomes, and test coverage analysis.
  5104. Test plans must be developed for all TCB primitives exported at the
  5105. TCB interface.
  5106.  
  5107. Test program development. The test programs developed must reflect the
  5108. test conditions, test data, and coverage described in the test plans.
  5109.  
  5110. Test procedure description. The test procedures provide instructions
  5111. for using individual test programs, and complete test suites.
  5112.  
  5113. Test result analysis. The analysis of the test results verifies that
  5114. the test outputs correspond to the expected outcomes defined in the
  5115. test plans.
  5116.  
  5117. Functional testing should be done on a copy of the TCB that is
  5118. configured and installed as recommended in product documentation. The
  5119. product should be operating in a normal mode, as opposed to
  5120. maintenance or test mode. Tests should be done using user-level
  5121. programs that cannot read or write internal TCB data structures or
  5122. programs. New data structures and programs should also not be added to
  5123. a TCB for security testing purposes, and special TCB entry points that
  5124. are unavailable to external user programs should not be used. If a TCB
  5125. is tested in maintenance mode using programs that cannot be run at the
  5126. user level, the security tests would be meaningless because assurance
  5127. cannot be gained that the TCB performs user-level access control
  5128. correctly. If user-level test programs could read, write or add
  5129. internal TCB data structures and programs, as would be required by
  5130. traditional instrumentation testing techniques, the TCB would lose its
  5131. isolation properties. If user-level test programs could use special
  5132. TCB entry points not normally available to external users, the TCB
  5133. would become circumventable in the normal mode of operation.
  5134.  
  5135. Functional testing should be conducted according to procedures defined
  5136. in a test plan. Significant events during testing should be placed in
  5137. a test log. As testing proceeds sequentially through each test case,
  5138. the developer's test team should identify flaws and deficiencies that
  5139. will need to be corrected. After changing TCB elements (i.e.,
  5140. hardware, firmware, or software) to correct these flaws and
  5141. deficiencies, the developer should repeat the tests that identified
  5142. problem(s) as well as any other tests related to the changed TCB
  5143. elements. When the development team has corrected all functional
  5144. problems and has analyzed and retested all corrections, a test report
  5145. should be written and made a part of a functional testing report.
  5146.  
  5147. 5.2.1.4.2 Penetration Analysis
  5148.  
  5149. The penetration analysis of a computer product is a separate assurance
  5150. concern from security policy design and/or implementation. Different
  5151. TCBs may exhibit the same degree of penetration resistance, but
  5152. implement widely different security policies, or may implement the
  5153. same policies, but exhibit different degrees of penetration
  5154. resistance.  Furthermore, penetration analysis is an important
  5155. assurance component since the effectiveness of all security policies
  5156. rely on the penetration resistance of a TCB.
  5157.  
  5158. The penetration analysis of a TCB consists of the identification and
  5159. confirmation of flaws in the design and implementation of protection
  5160. functions that can be exploited by unprivileged users or application
  5161. programs. Unlike security policy analysis and security functional
  5162. testing, penetration analysis identifies TCB flaws that are not
  5163. necessarily related to security policy design and implementation. For
  5164. example, penetration analysis identifies vulnerabilities of reference
  5165. mediation and TCB protection functions independent of the functions
  5166. that implement security policy support. This implies that the type of
  5167. policy that controls the subjects' access to objects is relevant to
  5168. security functional analysis and testing, but not to penetration
  5169. testing. Instead, penetration testing concerns include whether TCB
  5170. elements may be surreptitiously viewed or modified, and whether TCB
  5171. internal functions, which are intended to be invisible outside the
  5172. TCB, can in fact be invoked under the control of unprivileged users or
  5173. applications. Furthermore, penetration analysis includes assessments
  5174. of the strength of TCB protection functions and of vulnerabilities of
  5175. protection function implementation and operational use.
  5176.  
  5177. Appendix E presents some of the technical underpinnings used in
  5178. deriving the requirements of the penetration analysis component.
  5179.  
  5180. 5.2.1.4.3 Covert Channel Analysis
  5181.  
  5182. Covert channel analysis is an assurance component that is required
  5183. whenever nondiscretionary confidentiality or integrity policies are
  5184. used to control information flow. It consists of (1) the
  5185. identification of covert channels within a TCB, (2) the estimation of
  5186. the maximum bandwidth of each channel, and (3) the testing of the
  5187. covert channel handling functions.
  5188.  
  5189. Identifying a covert channel requires discovery of a TCB internal
  5190. variable and one or more TCB interfaces that permit the alteration and
  5191. viewing of variable values in violation of the information-flow policy
  5192. imposed by nondiscretionary access controls. Both storage and timing
  5193. channels use at least one variable for the transmission of the
  5194. information being transferred between the sender and receiver.
  5195. Multiple TCB interface functions may be necessary for viewing or
  5196. altering a variable because after viewing or altering a variable, the
  5197. sender and/or the receiver may have to set up the transmission
  5198. environment for sending and/or reading the next bit. The covert
  5199. channel variable may be a software, firmware, or hardware variable. In
  5200. addition to TCB primitives and variables implemented by kernel and
  5201. trusted processes, covert channels may use hardware-processor
  5202. instructions and user-visible registers. Thus, complete covert channel
  5203. analysis should take into account a product's underlying hardware
  5204. architecture, not just kernels and trusted processes. Therefore, the
  5205. primary goal of covert-channel identification is that of discovering
  5206. all TCB variables and TCB interfaces that can be used to alter or view
  5207. these variables. A secondary goal of covert channel identification is
  5208. that of determining the TCB elements where time delays, noise (e.g.,
  5209. randomized table indices and object identifiers, spurious load), and
  5210. audit code may be placed for decreasing the channel bandwidth and
  5211. monitoring its use.
  5212.  
  5213. The term "bandwidth" is introduced to denote the rate at which
  5214. information is transmitted through a channel. This use of the term
  5215. bandwidth can also be related to the notion of "capacity". The
  5216. capacity of a channel is its maximum possible error-free information
  5217. rate in bits per second. Thus, the primary goal of covert-channel
  5218. bandwidth estimation is to determine the maximum possible error-free
  5219. transmission rate, measured in bits-per-second, through a covert
  5220. channel. The maximum covert channel bandwidth can be estimated using
  5221. standard information theory methods. Performance measurements of the
  5222. TCB are generally necessary to determine parameters required by the
  5223. information theory methods.
  5224.  
  5225. Covert channel testing is required to demonstrate that covert channel
  5226. handling functions (e.g., elimination, bandwidth limitation, audit)
  5227. chosen by product designers operate correctly. Testing is also useful
  5228. to confirm that the potential covert channels discovered in the
  5229. product are in fact real channels. Furthermore, testing is useful when
  5230. the handling functions use variable bandwidth-reduction parameters
  5231. (e.g., delays) that system administrators (e.g., auditors) can set.
  5232.  
  5233. In contrast with maximum bandwidth estimation, which provides upper
  5234. bounds for covert channels before handling functions are used, covert
  5235. channel testing always requires that actual measurements be performed
  5236. to determine the covert-channel bandwidths after the chosen handling
  5237. functions are implemented in a product. (Of course, maximum bandwidth
  5238. estimation can also be used after handling functions are implemented
  5239. in a product.) Test plan documentation, including test conditions,
  5240. test environment set-up, test data, expected test outcome, and actual
  5241. test result documentation must be provided.
  5242.  
  5243. 5.2.2     Operational Support
  5244.  
  5245. The operational support class of components addresses the developer's
  5246. and users' responsibilities subsequent to IT product delivery. The
  5247. developer's responsibilities include providing the necessary guidance
  5248. to the consumer regarding the proper configuration, initialization,
  5249. use, and administration of the IT product. The consumer is assumed to
  5250. follow this guidance, however, fail-safe defaults may be provided to
  5251. preclude consumer difficulties. An issue of concern to consumers is
  5252. the identification and remediation of security flaws that may be
  5253. discovered subsequent to IT product delivery. This component includes
  5254. requirements for such identification and remediation.
  5255.  
  5256. 5.2.2.1   User Guidance
  5257.  
  5258. Requirements for user guidance help ensure that product users are able
  5259. to operate the product in a secure manner (e.g., the usage constraints
  5260. assumed by the protection profile must be clearly explained and
  5261. illustrated). The user is defined as a person who operates the
  5262. product, but has no special privileges to affect the configuration of
  5263. the product. The user for most IT products is assumed to be a person
  5264. with little or no computer experience, but this need not always be the
  5265. case.
  5266.  
  5267. User's guidance is the primary means available to the developer for
  5268. providing the IT product users with the necessary background and
  5269. specific information on how to correctly use the product's protection
  5270. functions. User guidance must do two things. First, it must explain
  5271. how the protection functions of a specific product work, so that users
  5272. are able to consistently and effectively protect their information.
  5273. Second, it must explain the user's role in maintaining the IT
  5274. product's security.
  5275.  
  5276. The scope of the user's guidance should be limited to documenting only
  5277. the protection functions available to all users and only the
  5278. responsibilities that all users have for product security. To
  5279. accomplish this, the user's guidance documentation should explain what
  5280. protection functions are present in the product and why, how the
  5281. protection functions work, and how to use the functions properly. The
  5282. material should be easy to locate in the IT product documentation and
  5283. should be clear, concise, and complete.
  5284.  
  5285. 5.2.2.2   Administrative Guidance
  5286.  
  5287. Requirements for administrative guidance help ensure that the
  5288. environmental constraints assumed by the protection profile are
  5289. understood by administrators and operators of the IT product.  The
  5290. administrator is defined as a person who has the special privileges
  5291. needed to affect the product configuration and set the user and
  5292. product security parameters. The operator is defined as a person who
  5293. has the special privileges needed to affect the routine operation of
  5294. the product after it has been configured. The administrator has the
  5295. primary responsibility for the security of the IT product. The
  5296. operator is often assumed to also have some responsibility for the
  5297. secure use of the IT product.
  5298.  
  5299. Administrative guidance is the primary means available to the
  5300. developer for providing the IT product administrators with detailed,
  5301. accurate information of how to: (1) configure and install an IT
  5302. product, (2) operate the IT product in a secure manner, (3) make
  5303. effective use of the product's privileges and protection mechanisms to
  5304. control access to administrative functions and databases, and (4)
  5305. avoid pitfalls and improper use of the administrative functions that
  5306. would compromise the TCB and user security.
  5307.  
  5308. Administrator guidance should clearly illustrate necessary
  5309. administrator actions (e.g., cite actual system commands and
  5310. procedures). Although a high level of detail in illustrating key
  5311. security concepts would benefit administrative users, the
  5312. administrator guidance should not become a training manual in the
  5313. areas of computer security and system administration.  Administrator
  5314. familiarity with the notion of IT product security should be assumed.
  5315. Administrator guidance should include examples of both proper use and
  5316. warnings about consequences of misuse of administrative functions,
  5317. procedures, privileges, and databases. Administrator guidance should
  5318. be easy to locate in the IT product documentation and should be clear,
  5319. concise, and complete.
  5320.  
  5321. 5.2.2.3   Flaw Remediation
  5322.  
  5323. Flaw remediation is an operational support assurance component for
  5324. ensuring that flaws discovered by the IT product consumers will be
  5325. tracked and corrected while the product is supported by the developer.
  5326. While compliance with the flaw remediation requirements of a
  5327. protection profile cannot be determined when a product is evaluated,
  5328. it is possible to evaluate the procedures and policies that a
  5329. developer has in place to track and repair flaws and distribute the
  5330. repairs to affected consumers.
  5331.  
  5332. There are three parts to the flaw remediation process. First, the
  5333. developer must be prepared to receive, validate, and track consumer
  5334. reports of TCB flaws. Second, the developer must be prepared to devote
  5335. resources to identifying one or more corrections to each flaw and
  5336. maintaining these correction(s) with the reported flaws. Finally, the
  5337. developer must have a process in place for distributing the flaw
  5338. corrections to affected consumers.
  5339.  
  5340. 5.2.2.4   Trusted Generation
  5341.  
  5342. Trusted generation is an operational support assurance component for
  5343. ensuring that the copy of the IT product's TCB that is configured and
  5344. activated by the consumer will exhibit the same protection properties
  5345. as the master copy of the IT product's TCB that was evaluated for
  5346. compliance with the protection profile. The trusted generation
  5347. procedures must provide some confidence that the consumer will be
  5348. aware of what product configuration parameters can affect the
  5349. protection properties of the TCB. The procedures must encourage the
  5350. consumer to choose parameter settings that are within the bounds
  5351. assumed during the product evaluation.
  5352.  
  5353. 5.2.3     Development Environment
  5354.  
  5355. The development environment class of components addresses the
  5356. developer's engineering processes for product life cycle management,
  5357. product configuration management, and trusted product distribution.
  5358. These components are reviewed below.
  5359.  
  5360. 5.2.3.1   Life Cycle Definition
  5361.  
  5362. Life cycle definition is an assurance component for establishing that
  5363. the engineering practices used by a developer to produce the IT
  5364. product's TCB include the considerations and activities identified in
  5365. the development process and operational support requirements of the
  5366. protection profile. Consumer confidence in the correspondence between
  5367. the protection profile requirements and the product's TCB is greater
  5368. when security analysis and the production of evidence are done on a
  5369. regular basis as an integral part of the development process and
  5370. operational support activities.
  5371.  
  5372. The developer must explain the processes used to develop and maintain
  5373. the product's TCB. The developer must also define the tools being used
  5374. to analyze and implement the TCB. The higher levels of the component
  5375. also require that the processes used by the developer are disciplined
  5376. (i.e., consistent, measurable, and repeatable) to achieve quality
  5377. products. It must be emphasized that this component imposes no
  5378. constraints on the specific process chosen by the developer other than
  5379. that it be sufficient to incorporate the stated requirements of the
  5380. protection profile. This component simply establishes the degree of
  5381. rigor required for documenting and demonstrating compliance with the
  5382. developer's defined process.
  5383.  
  5384. 5.2.3.2   Configuration Management
  5385.  
  5386. Configuration management is an assurance component for ensuring that
  5387. the IT product's TCB configuration remains consistent and complete
  5388. during the product life cycle, and that changes to the TCB do not
  5389. adversely affect the protection properties of the TCB. Configuration
  5390. management must ensure that additions, deletions, or changes to the
  5391. TCB do not compromise the correspondence between the TCB
  5392. implementation and the requirements of the protection profile. This is
  5393. accomplished in the configuration management component by requiring
  5394. that the developer have procedures and tools that ensure that the TCB
  5395. and its documentation are updated properly when the TCB changes.
  5396. Configuration management is a sound engineering practice that also
  5397. provides the final element of traceability between the protection
  5398. profile requirements and the product delivered to the consumer.
  5399. Specifically, configuration management provides confidence that the IT
  5400. product's TCB and documentation used for evaluation are the ones
  5401. prepared for distribution to consumers.
  5402.  
  5403. The requirement of configuration management refers to four separate
  5404. tasks: configuration identification, control, status accounting, and
  5405. auditing. For every change that is made to the IT product, the changed
  5406. version of the product, its functional requirements, and design must
  5407. be identified. Control over the product configuration means that every
  5408. change to the product documentation, hardware, software, or firmware
  5409. is the subject of review and approval by a change-control authority.
  5410. Configuration status accounting is responsible for recording and
  5411. reporting on the configuration of the product throughout the change.
  5412. Finally, through the process of configuration audit, the completed
  5413. change can be verified to be functionally correct and consistent with
  5414. the protection properties the IT product. The procedures and tools
  5415. used to implement the four tasks are documented in a configuration
  5416. management plan to ensure that development personnel understand their
  5417. responsibilities for configuration management. Any deviation from the
  5418. configuration management plan could contribute to the failure of the
  5419. configuration control of an IT product and compromise the trust in the
  5420. product's ability to satisfy the protection profile.
  5421.  
  5422. 5.2.3.3   Trusted Distribution
  5423.  
  5424. Trusted distribution is an assurance component for ensuring that the
  5425. master copy of the IT product's TCB sent from the developer is the
  5426. same one received by the consumer. The trusted distribution component
  5427. is intended to counter the possibility that the TCB could be
  5428. intentionally subverted during shipment from the development
  5429. environment to the consumer.
  5430.  
  5431. At a minimum, the trusted distribution techniques must allow the
  5432. consumer to determine if the TCB copy received has been modified
  5433. during shipment. The trusted distribution techniques should also be
  5434. designed to prevent any modifications from occurring during shipment.
  5435.  
  5436. 5.2.4     Development Evidence
  5437.  
  5438. The development evidence class of components addresses requirements
  5439. for the documentation of all development process, operational support,
  5440. and development environment activities. The requirements for evidence
  5441. are stated in four components: TCB Protection Property, Product
  5442. Development, Product Analysis and Testing, and Product Support. These
  5443. evidence components are elaborated below:
  5444.  
  5445. 5.2.4.1   TCB Protection Properties
  5446.  
  5447. The documentation of the TCB protection properties includes the
  5448. definition of the functional component requirements, their modeling
  5449. (if any), and their interpretation within a product's TCB.
  5450.  
  5451. For each functional requirement of a protection profile, a
  5452. description, definition (an informal, descriptive specification), or a
  5453. formal specification of the TCB components and their operation
  5454. corresponding to that requirement must be provided. This
  5455. correspondence must be documented to the extent necessary to establish
  5456. that the functional requirements are, in fact, supported by TCB
  5457. elements and interfaces. Alternate ways of presenting the evidence of
  5458. this correspondence are possible. For example, the documentation may
  5459. select TCB elements and interfaces, and for each individual set of
  5460. selected elements and interfaces, it may identify the corresponding
  5461. functional component requirement.
  5462.  
  5463. The correspondence between the functional component requirements and
  5464. the TCB elements and interfaces can be established and documented in
  5465. varying degrees of rigor. In addition to the above, the developer must
  5466. document the (in)formal models of the functional component
  5467. requirements, when higher levels of development assurance are desired.
  5468. Providing specific models that satisfy the requirements of a profile
  5469. increases the degree of rigor with which the correspondence can be
  5470. established between the profile requirements and the TCB elements and
  5471. interfaces. The interpretation of a model in a TCB must also be
  5472. documented.  However, as noted in the development assurance
  5473. components, not all functional requirements must be modeled. Thus, not
  5474. all aspects of this correspondence could be established at same degree
  5475. of rigor. (The required modeling areas are spelled out in the
  5476. assurance components.) Nevertheless, all aspects of the correspondence
  5477. between the functional requirements and TCB elements and interfaces
  5478. must be documented.
  5479.  
  5480. 5.2.4.2    Product Design and Implementation
  5481.  
  5482. The TCB design evidence includes the documentation of the (1)
  5483. interface, (2) elements, (3) modular decomposition, (4) structuring
  5484. support, and (5) design disciplines used. The TCB implementation
  5485. evidence includes (1) the source code, and (2) the processor hardware
  5486. and firmware specifications. In addition to the documentation for each
  5487. stage of the development process, the design and implementation
  5488. evidence should contain descriptions/definitions/specifications of the
  5489. correspondences between the TCB design and the implementation.
  5490.  
  5491. In principle, the product design and implementation should follow a
  5492. development sequence beginning with the specification of the TCB
  5493. protection properties and ending with the implementation code and
  5494. processor specifications. In practice, however, the different
  5495. development sequences may, in fact, be executed in successive
  5496. refinements, with specifications and correspondences between design
  5497. and implementation being performed out of sequence. Alternative
  5498. development sequences are acceptable, provided that they lead to
  5499. products whose structures are accurately reflected in the design and
  5500. implementation documentation.
  5501.  
  5502. 5.2.4.3    Product Testing and Analysis
  5503.  
  5504. The product testing and analysis evidence consists of the
  5505. documentation of functional testing, penetration analysis, and
  5506. covert-channel analysis.
  5507.  
  5508. 5.2.4.3.1 Functional Testing
  5509.  
  5510. Functional testing evidence includes test plans, test results, and
  5511. test documentation. Each test plan consists of (1) the description,
  5512. definition or specification of the test conditions, (2) the test data,
  5513. and (3) a description of the test coverage. The test results contain
  5514. the actual outcome of each test run. The test plans must be documented
  5515. and, in some cases, maintained under configuration management.
  5516.  
  5517. 5.2.4.3.2 Penetration Analysis
  5518.  
  5519. The penetration analysis evidence includes penetration test plans and
  5520. results, the documentation of the penetration testing method and
  5521. tools, and when appropriate, the scenario of the discovered
  5522. penetration flaws. The cause of a every discovered penetration flaw,
  5523. or class of penetration flaws, must also be documented.
  5524.  
  5525. 5.2.4.3.3 Covert Channel Analysis
  5526.  
  5527. The covert-channel analysis evidence includes, in addition to
  5528. covert-channel test plans and results, the documentation of the
  5529. covert-channel identification method and tools, covert- channels
  5530. found, and bandwidth estimation. All storage and timing channels found
  5531. must be described in terms of the covert transmission scenarios (e.g.,
  5532. variables altered and viewed, source of time modulation). The cause of
  5533. each covert channel, or class of covert channels, must also be
  5534. documented.
  5535.  
  5536. 5.2.4.4    Product Support
  5537.  
  5538. The product support evidence consists of the development environment
  5539. and operational support documentation and tools.  The development
  5540. environment evidence includes the documentation of the product
  5541. life-cycle process, configuration management procedures enforced, and
  5542. the trusted distribution mechanisms and procedures used. This evidence
  5543. also includes the identification of (1) the tools used in the product
  5544. development, configuration management, and trusted distribution, and
  5545. (2) the characteristics that make those tools suitable for development
  5546. of protection in IT products.
  5547.  
  5548. The operational support evidence includes the User's Guide and the
  5549. Trusted Facility Manual, the documentation describing the flaw
  5550. remediation policies and procedures, and the documentation describing
  5551. the trusted product generation. It also includes the description of
  5552. the tools used (if any) in the product flaw remediation and trusted
  5553. generation.
  5554.  
  5555. 5.3       Rated Development Assurance Components
  5556.  
  5557. Each development assurance component addresses a unique IT
  5558. development, support, or maintenance method available to an IT product
  5559. developer (producer) for establishing the functional correctness of a
  5560. specific product. Although these methods change over time as these
  5561. disciplines mature, evolve, and new disciplines are introduced, all
  5562. existing and future methods can be rated by generic characteristics.
  5563. The extent to which such methods are used in a product development,
  5564. maintenance, and operation can be determined by the extent to which
  5565. the requirements of each method are satisfied. For this reason, the
  5566. assurance components are rated according to the extent to which their
  5567. requirements are satisfied. The rating of the assurance components
  5568. included herein is based on the following four parameters: (1) the
  5569. scope of the assurance method used, (2) the precision, or level of
  5570. detail, used in, or allowed by, applying a specific method, (3) the
  5571. coverage of the method, and (4) the strength of the particular method
  5572. employed.
  5573.  
  5574. 1. Scope. The scope of a method determines whether the method applies
  5575. to all functional-component properties and to all steps of the product
  5576. development, maintenance, or operation processes. For example, a
  5577. specific design analysis method or a specific testing method may be
  5578. applied to security-policy properties, but not to TCB protection or
  5579. reference mediation properties; and a covert channel identification
  5580. method and tool may apply only to the design-specification step of the
  5581. development process, but not to the implementation step.  Similarly, a
  5582. configuration-control method may apply only to source code or to
  5583. design specifications, test plans, documentation, source code, and
  5584. hardware specifications; and a guidance manual (e.g., Trusted Facility
  5585. Manual) referring to product operation may, or may not, include all
  5586. system administration properties or requirements.
  5587.  
  5588. 2. Precision. The precision in applying a method determines the level
  5589. of detail at which the method is applied in product development,
  5590. maintenance, or operation. For example, an analysis method may be
  5591. applied to a description of a functional component, to an informal
  5592. specification, or to a formal specification; it may require a formal
  5593. or an informal model of the functional-component properties; it may
  5594. require that formal correspondence between different levels of product
  5595. design be established or only that informal correspondences be
  5596. established; it may require that these correspondences show that all
  5597. TCB properties are preserved by the correspondence or only that some
  5598. properties are preserved.  Similarly, the degree of precision in
  5599. applying the method may require that the design, coding, and
  5600. configuration-control methods be described or defined; that they be
  5601. applied to TCB functions, subsystems, or individual low-level modules,
  5602. or only to TCB functions. Or, the degree of precision of the
  5603. operational method for flaw discovery, tracking, and repair may
  5604. indicate whether specific response-time deadlines are provided for
  5605. flaw repair.
  5606.  
  5607. 3. Coverage. The coverage of a method determines the extent to which
  5608. the method is applied to a functional component, that is, whether the
  5609. method is fully or only partially applied to a functional component.
  5610. For example, security testing may use all test conditions required by
  5611. a functional-component description or model, or only a subset of those
  5612. conditions; or the test data may cover all positive and negative
  5613. outcomes of a test condition or only a subset of those outcomes.
  5614. Similarly, configuration management may require that all
  5615. change-control conditions be applied to the configuration items or
  5616. that only a subset of those conditions be applied.  Or, the
  5617. operational method of flaw discovery, tracking, and repair may, or may
  5618. not, use all conditions of flaw discovery, tracking, and repairs, or
  5619. only a subset of these conditions (e.g., use an explicit
  5620. protection-problem report step, take into account the consumer
  5621. protection requirements whenever protection flaws are repaired, and
  5622. maintain flaw reports and corrections under configuration management).
  5623.  
  5624. 4. Strength. The strength of a method used may vary according to the
  5625. characteristics of the method. For example, test methods based on data
  5626. flow coverage are inherently stronger than those based on
  5627. boundary-value coverage (e.g., data-flow testing vs. monolithic
  5628. functional testing). Covert-channel identification methods that
  5629. eliminate false flows (i.e., formal flow violations) are inherently
  5630. stronger than those that allow the discovery of false flows. Methods
  5631. for estimating the maximum covert-channel bandwidth based on
  5632. information theory are inherently stronger than those exclusively
  5633. based on performance measurements. Configuration management methods
  5634. and tools that automatically enforce all change-control conditions are
  5635. inherently stronger than those that require operator-controlled
  5636. enforcement. Compilers that enforce programming conventions and
  5637. disciplines (e.g., type checking for user-defined, abstract data
  5638. types) are inherently stronger than those that merely perform syntax
  5639. checking.
  5640.  
  5641. The above parameters are chosen because, although general in nature,
  5642. they facilitate the rating of the assurance components at levels of
  5643. detail comparable to those of existing standards, thereby enabling
  5644. potential harmonization with these standards. Other rating parameters
  5645. that are equally suitable may exist. The parameters used to rate each
  5646. development assurance component are summarized in Table 3.
  5647.  
  5648.       Table 3. Rating Summary for Development Assurance Components
  5649. .----------------------------------------------------------------------.
  5650. |                                  |       | Prec- | Cover- |          |
  5651. | Development Assurance Components | Scope | ision |  age   | Strength |
  5652. |======================================================================|
  5653. | Development Process                                                  |
  5654. |----------------------------------+-------+-------+--------+----------|
  5655. | TCB Property Definition          |       |   X   |   X    |          |
  5656. |----------------------------------+-------+-------+--------+----------|
  5657. | TCB Design                                                           |
  5658. |----------------------------------+-------+-------+--------+----------|
  5659. |   TCB Element Identification     |       |       |   X    |          |
  5660. |----------------------------------+-------+-------+--------+----------|
  5661. |   TCB Interface Definition       |       |   X   |        |          |
  5662. |----------------------------------+-------+-------+--------+----------|
  5663. |   TCB Modular Decomposition      |       |   X   |   X    |          |
  5664. |----------------------------------+-------+-------+--------+----------|
  5665. |   TCB Structuring Support        |   X   |   X   |        |          |
  5666. |----------------------------------+-------+-------+--------+----------|
  5667. |   TCB Design Disciplines         |       |       |   X    |          |
  5668. |----------------------------------+-------+-------+--------+----------|
  5669. | TCB Implementation Support       |       |   X   |   X    |          |
  5670. |----------------------------------+-------+-------+--------+----------|
  5671. | TCB Testing and Analysis                                             |
  5672. |----------------------------------+-------+-------+--------+----------|
  5673. |   Functional Testing             |       |   X   |   X    |          |
  5674. |----------------------------------+-------+-------+--------+----------|
  5675. |   Penetration Analysis           |   X   |   X   |   X    |    X     |
  5676. |----------------------------------+-------+-------+--------+----------|
  5677. |   Covert Channel Analysis        |   X   |   X   |   X    |    X     |
  5678. |----------------------------------+-------+-------+--------+----------|
  5679. | Operational Support                                                  |
  5680. |----------------------------------+-------+-------+--------+----------|
  5681. | User Security Guidance           |       |       |        |          |
  5682. |----------------------------------+-------+-------+--------+----------|
  5683. | Administrative Guidance          |       |       |   X    |          |
  5684. |----------------------------------+-------+-------+--------+----------|
  5685. | Flaw Remediation                 |       |   X   |   X    |    X     |
  5686. |----------------------------------+-------+-------+--------+----------|
  5687. | Trusted Generation               |       |       |   X    |    X     |
  5688. |----------------------------------+-------+-------+--------+----------|
  5689. | Development Environment                                              |
  5690. |----------------------------------+-------+-------+--------+----------|
  5691. | Life Cycle Definition            |       |   X   |   X    |          |
  5692. |----------------------------------+-------+-------+--------+----------|
  5693. | Configuration Management         |       |   X   |   X    |    X     |
  5694. |----------------------------------+-------+-------+--------+----------|
  5695. | Trusted Distribution             |       |       |        |    X     |
  5696. |----------------------------------+-------+-------+--------+----------|
  5697. | Development Evidence                                                 |
  5698. |----------------------------------+-------+-------+--------+----------|
  5699. | TCB Protection Properties        |       |   X   |   X    |          |
  5700. |----------------------------------+-------+-------+--------+----------|
  5701. | Product Design & Implementation  |   X   |   X   |   X    |          |
  5702. |----------------------------------+-------+-------+--------+----------|
  5703. | Product Testing & Analysis                                           |
  5704. |----------------------------------+-------+-------+--------+----------|
  5705. |   Functional Testing             |       |   X   |   X    |          |
  5706. |----------------------------------+-------+-------+--------+----------|
  5707. |   Penetration Analysis           |   X   |   X   |   X    |    X     |
  5708. |----------------------------------+-------+-------+--------+----------|
  5709. |   Covert Channel Analysis        |   X   |   X   |   X    |    X     |
  5710. |----------------------------------+-------+-------+--------+----------|
  5711. | Product Support                  |       |   X   |   X    |    X     |
  5712. `----------------------------------------------------------------------'
  5713.  
  5714.  
  5715. 5.3.1     Development Process
  5716.  
  5717. 5.3.1.1   Rated TCB Property Identification Components
  5718.  
  5719. The TCB property identification components are rated based on the
  5720. precision and coverage of the methods for TCB property identification.
  5721. At level PD-1, the TCB properties are informally defined by
  5722. interpreting the functional component requirements within the TCB. At
  5723. level PD-2, precision is extended by the use of informal models of
  5724. functional requirements and by requiring definitions, instead of
  5725. descriptions, of the TCB element operations. At level PD-3, both the
  5726. precision and coverage are extended. Precision is extended by
  5727. requiring the use of formal models of functional requirements, and by
  5728. the use of Descriptive Interface Specifications (DIS) for the TCB.
  5729. Coverage of the interpretation method is extended by including a
  5730. demonstration, by coherent arguments, that the TCB operation defined
  5731. in the DIS is consistent with the appropriate formal models. At level
  5732. PD-4, both precision and the coverage of the interpretation method are
  5733. further extended. Precision is further extended by requiring the use
  5734. of Formal Interface Specifications (FIS) for the TCB; coverage of the
  5735. interpretation method is extended by including a proof that the TCB
  5736. operation, as defined by the FIS, is consistent with the appropriate
  5737. formal models, and by requiring that no TCB elements remain uncovered
  5738. by the this interpretation.
  5739.  
  5740. PD-1 Property Description
  5741.  
  5742. The developer shall interpret the functional requirements of the
  5743. protection profile within the product TCB. For each functional
  5744. requirement, the developer shall: (1) identify the TCB elements and
  5745. their TCB interfaces (if any) that implement that requirement; (2)
  5746. describe the operation of these TCB elements, and (3) explain why the
  5747. operation of these elements is consistent with the functional
  5748. requirement.
  5749.  
  5750. PD-2 Informal Property Identification
  5751.  
  5752. The developer shall provide informal models for the functional
  5753. components and sub-components of the profile. At a minimum, an
  5754. informal model of the access control components shall be provided.
  5755. Each informal model shall include (abstract) data structures and
  5756. operations defining each functional component or sub-component, and a
  5757. description of the model properties. The developer shall interpret
  5758. (e.g., trace) the informal models within the product TCB. For each
  5759. model entity, the developer shall: (1) identify the TCB elements and
  5760. their TCB interfaces (if any) that implement that entity; (2) define
  5761. the operation of these TCB elements, and (3) explain why the operation
  5762. of these elements is consistent with the model properties. The
  5763. developer's interpretation of each informal model, which defines the
  5764. TCB properties, shall identify all TCB elements that do not correspond
  5765. to any model entity and shall explain why these elements do not render
  5766. the TCB properties invalid.
  5767.  
  5768. For the components that are not informally modeled, the developer
  5769. shall interpret the functional requirements of the protection profile
  5770. within the product TCB. For each functional requirement, the developer
  5771. shall: (1) identify the TCB elements and their TCB interfaces (if any)
  5772. that implement that requirement; (2) describe the operation of these
  5773. TCB elements, and (3) explain why the operation of these elements is
  5774. consistent with the functional requirement. The developer's
  5775. interpretation of each functional requirement, which describes the TCB
  5776. properties, shall identify all TCB elements that do not correspond to
  5777. any functional requirement and shall explain why these elements do not
  5778. render the TCB properties invalid.
  5779.  
  5780. PD-3 Property Specification by Model Interpretation
  5781.  
  5782. The developer shall provide formal models for the functional
  5783. components and sub-components of the profile. At a minimum, a formal
  5784. model of the access control components shall be provided. The
  5785. properties of the formal models shall be clearly stated. The developer
  5786. shall provide an interpretation of the models in the DIS of the
  5787. product's TCB. For each model entity, the developer shall: (1)
  5788. identify the TCB elements and their DIS (if any) that implement that
  5789. entity; (2) define the operation of these TCB elements, and (3)
  5790. demonstrate, by coherent arguments, that the DIS of these elements is
  5791. consistent with the model properties. The developer's interpretation
  5792. of each formal model, which specifies the TCB properties, shall
  5793. identify all TCB and DIS elements (if any) that do not correspond to
  5794. any model entity and shall explain why these elements do not render
  5795. the TCB properties invalid.
  5796.  
  5797. An informal model of reference mediation and TCB protection shall be
  5798. provided. For the components that are not modeled, the developer shall
  5799. interpret the functional requirements of the protection profile within
  5800. the product TCB. For each functional requirement, the developer shall:
  5801. (1) identify the TCB elements and their TCB interfaces (if any) that
  5802. implement that requirement; (2) describe the operation of these TCB
  5803. elements, and (3) explain why the operation of these elements is
  5804. consistent with the functional requirement. The developer's
  5805. interpretation of each functional requirement, which describes the TCB
  5806. properties, shall include all the TCB elements.
  5807.  
  5808. PD-4 Formal Specification of TCB Properties
  5809.  
  5810. The developer shall provide formal models for the functional
  5811. components and sub-components of the profile. At a minimum, a formal
  5812. model of the access control components shall be provided. The
  5813. properties of the formal models shall be clearly stated. The developer
  5814. shall provide a formal interpretation of the models in the FIS of the
  5815. product's TCB. For each model entity, the developer shall: (1)
  5816. identify the TCB elements and their FIS (if any) that implement that
  5817. entity; (2) specify the operation of these TCB elements, and (3) prove
  5818. that the FIS of these elements is consistent with the model
  5819. properties. The developer's interpretation of each formal model, which
  5820. specifies the TCB properties, shall identify all TCB and FIS elements
  5821. (if any) that do not correspond to any model entity and shall explain
  5822. why these elements do not render the TCB properties invalid.
  5823.  
  5824. An informal model of reference mediation and TCB protection shall be
  5825. provided. For the components that are not modeled, the developer shall
  5826. interpret the functional requirements of the protection profile within
  5827. the product TCB. For each functional requirement, the developer shall:
  5828. (1) identify the TCB elements and their TCB interfaces (if any) that
  5829. implement that requirement; (2) describe the operation of these TCB
  5830. elements, and (3) explain why the operation of these elements is
  5831. consistent with the functional requirement. The developer's
  5832. interpretation of each functional requirement, which describes the TCB
  5833. properties, shall include all the TCB elements.
  5834.  
  5835. 5.3.1.2   Rated TCB Element Identification Components
  5836.  
  5837. The TCB element identification components are rated based on the
  5838. coverage of the identification method. That is, the two levels of
  5839. identification requirements are distinguished by whether the retention
  5840. of protection-irrelevant elements within the TCB is justified.
  5841.  
  5842. ID-1: TCB Element Identification
  5843.  
  5844. The developer shall identify the TCB elements (i.e., software,
  5845. hardware/firmware code and data structures). Each element must be
  5846. unambiguously identified by its name, type, release, and version
  5847. number (if any).
  5848.  
  5849. ID-2: TCB Element Justification
  5850.  
  5851. The developer shall identify the TCB elements (i.e., software,
  5852. hardware/firmware code and data structures). Each element must be
  5853. unambiguously identified by its name, type, release, and version
  5854. number (if any).
  5855.  
  5856. The developer shall justify the protection relevance of the identified
  5857. elements (i.e., only elements that can affect the correct operation of
  5858. the protection functions shall be included in the TCB). If
  5859. protection-irrelevant elements are included in the TCB, the developer
  5860. shall provide a rationale for such inclusion.
  5861.  
  5862. 5.3.1.3   Rated TCB Interface Definition Components
  5863.  
  5864. The TCB interface definition components are rated based on the
  5865. precision of the interface definition method. The precision of the
  5866. interface definition methods required at level IF-2 is higher than
  5867. that of level IF-1, because level IF-2 requires a Descriptive
  5868. Interface Specification, not just an informal interface description.
  5869. Similarly the precision of the interface definition methods required
  5870. at level IF-3 is higher than that of level IF-2, because level IF-3
  5871. requires a Formal Interface Specification, not just a Descriptive
  5872. Interface Specification.
  5873.  
  5874. IF-1: Interface Description
  5875.  
  5876. The developer shall describe all external (e.g., command, software,
  5877. and I/O) administrative (i.e., privileged) and non-administrative
  5878. interfaces to the TCB. The description shall include those components
  5879. of the TCB that are implemented as hardware and/or firmware if their
  5880. properties are visible at the TCB interface.
  5881.  
  5882. The developer shall identify all call conventions (e.g., parameter
  5883. order, call sequence requirements) and exceptions signaled at the TCB
  5884. interface.
  5885.  
  5886. IF-2: Interface Descriptive Specification
  5887.  
  5888. The developer shall define all external (e.g., command, software, and
  5889. I/O) administrative (i.e., privileged) and non-administrative
  5890. interfaces to the TCB.
  5891.  
  5892. The developer shall provide and maintain a descriptive interface
  5893. specification (DIS) of the TCB that completely and accurately
  5894. describes the TCB in terms of exceptions, error messages, and effects.
  5895. The DIS shall identify the TCB call conventions (e.g., parameter
  5896. order, call sequence requirements), and exceptions signaled. The DIS
  5897. shall also include the TCB call identifier, parameter types (e.g.,
  5898. input, output), the effect of the call, TCB call conventions (e.g.,
  5899. parameter order, call sequence requirements), and exceptions handled
  5900. and signaled. It shall be shown to be an accurate description of the
  5901. TCB interface.
  5902.  
  5903. The DIS shall include those components of the TCB that are implemented
  5904. as hardware and/or firmware if their properties are visible at the TCB
  5905. interface.
  5906.  
  5907. If the TCB consists of a kernel and privileged processes, the
  5908. developer shall separately identify and define the interfaces for the
  5909. kernel and each privileged process.
  5910.  
  5911. Whenever covert-channel analysis, penetration analysis, and
  5912. resource-constraint analysis are required, the TCB interface
  5913. definition must also include all effects of a call including the
  5914. direct visibility and alterability of internal TCB variables and
  5915. functions.
  5916.  
  5917. IF-3: Formal Interface Specification
  5918.  
  5919. The developer shall define all external (e.g., command, software, and
  5920. I/O) administrative (i.e., privileged) and non-administrative
  5921. interfaces to the TCB.
  5922.  
  5923. The developer shall provide and maintain a descriptive interface
  5924. specification (DIS) of the TCB that completely and accurately
  5925. describes the TCB in terms of exceptions, error messages, and effects.
  5926. The DIS shall identify the TCB call conventions (e.g., parameter
  5927. order, call sequence requirements), and exceptions signaled. The DIS
  5928. shall also include the TCB call identifier, parameter types (e.g.,
  5929. input, output), the effect of the call, TCB call conventions (e.g.,
  5930. parameter order, call sequence requirements), and exceptions handled
  5931. and signaled. It shall be shown to be an accurate description of the
  5932. TCB interface.
  5933.  
  5934. A Formal Interface Specification (FIS) of the TCB shall be maintained
  5935. that accurately describes the TCB in terms of the call identifier,
  5936. parameter types (e.g., input, output), the effect of the call, TCB
  5937. call conventions (e.g., parameter order, call sequence requirements),
  5938. and exceptions signaled.
  5939.  
  5940. The DIS and FIS shall include those components of the TCB that are
  5941. implemented as hardware and/or firmware if their properties are
  5942. visible at the TCB interface.
  5943.  
  5944. If the TCB consists of a kernel and privileged processes, the
  5945. developer shall separately identify and define the interfaces for the
  5946. kernel and each privileged process.
  5947.  
  5948. Whenever covert-channel analysis, penetration analysis, and
  5949. resource-constraint analysis are required, the TCB interface
  5950. definition must also include all effects of a call including the
  5951. direct visibility and alterability of internal TCB variables and
  5952. functions.
  5953.  
  5954. 5.3.1.4   Rated Modular Decomposition Components
  5955.  
  5956. The modular decomposition components are rated based on the precision
  5957. and coverage of the decomposition method. The granularity of the
  5958. modular TCB decomposition at level MD-1, which delimits the precision
  5959. of the decomposition method, refers to subsystem-level decomposition.
  5960. The decomposition granularity is refined at level MD-2, as each
  5961. subsystem is further decomposed into constituent modules. Level MD-2
  5962. also extends the coverage of the decomposition method by requiring
  5963. that inter-module relationships be used in the decomposition method.
  5964. Level MD-3 further extends the coverage of the decomposition method by
  5965. requiring that the inter-module correctness dependencies be analyzed
  5966. (see Appendix D).
  5967.  
  5968. MD-1: Subsystem Decomposition
  5969.  
  5970. The developer shall describe the TCB structure in terms of its design
  5971. and implementation subsystems and the functional relationships between
  5972. those subsystems. The developer shall identify the specific TCB
  5973. protection functions (if any) associated with each subsystem and the
  5974. TCB interfaces (if any) implemented by each subsystem.  The developer
  5975. shall describe the interfaces between the subsystems.
  5976.  
  5977. For each subsystem, the developer shall describe: the role or purpose
  5978. of the subsystem, the set of related functions performed by the
  5979. subsystem, and the subsystem interface (i.e., the set of invocable
  5980. functions, calling conventions, parameters, global variables, and
  5981. results).
  5982.  
  5983. MD-2: Module-level Decomposition
  5984.  
  5985. The developer shall design the TCB as a small number (e.g., 10 to 100)
  5986. of design and implementation subsystems that have well-defined
  5987. functional relationships and shared-data dependencies. The developer
  5988. shall identify the specific TCB protection functions (if any)
  5989. associated with each subsystem and the TCB interfaces (if any)
  5990. implemented by each subsystem.
  5991.  
  5992. The developer shall design each subsystem as a set of modules. For
  5993. each module, the developer shall describe: the role or purpose of the
  5994. module, the set of related functions performed by the module, and the
  5995. module interface (i.e., the set of invocable functions, calling
  5996. conventions, parameters, global variables, and results). The developer
  5997. shall identify the protection functions of, and describe the
  5998. interfaces between, these modules. The developer shall choose the
  5999. modules so that the set of functions implemented by the module, the
  6000. module's contribution to the TCB protection properties, and the
  6001. interface(s) to the module can be described concisely (e.g., the
  6002. module shall have a single purpose). The TCB structuring into modules
  6003. shall be based on well- defined module relationships; for example, the
  6004. contains relation (e.g., A is part of B) or the "uses" relation (e.g.,
  6005. A is correct only if B is correct).
  6006.  
  6007. MD-3: Module Relationship Analysis
  6008.  
  6009. The developer shall design the TCB as a small number (e.g., 10 to 100)
  6010. of design and implementation subsystems that have well-defined
  6011. functional relationships and shared-data dependencies. The developer
  6012. shall identify the specific TCB protection properties and functions
  6013. associated with each subsystem and the TCB interfaces (if any)
  6014. implemented by each subsystem.
  6015.  
  6016. The developer shall design each subsystem as a set of modules. For
  6017. each module, the developer shall describe: the role or purpose of the
  6018. module, the set of related functions performed by the module, and the
  6019. module interface (i.e., the set of invocable functions, calling
  6020. conventions, parameters, global variables, and results). The developer
  6021. shall identify the protection functions of, and describe the
  6022. interfaces between, these modules. The developer shall choose the
  6023. modules so that the set of functions implemented by the module, the
  6024. module's contribution to the TCB protection properties, and the
  6025. interface(s) to the module can be described concisely (e.g., the
  6026. module shall have a single purpose).  The TCB structuring into modules
  6027. shall be based on well- defined module relationships; for example, the
  6028. contains relation (e.g., A is part of B), the "uses" relation (e.g., A
  6029. is correct only if B is correct). The developer shall analyze the
  6030. correctness dependencies among these modules. This analysis may
  6031. include, but is not restricted to, service and environmental
  6032. dependencies.
  6033.  
  6034. 5.3.1.5   Rated TCB Structuring Support Components
  6035.  
  6036. The TCB structuring support components are rated based on the scope
  6037. and precision of the supporting mechanisms used in TCB structuring.
  6038. Ascending levels are assigned to mechanisms supporting TCB process
  6039. isolation, TCB modularity, and storage objects to reflect the degrees
  6040. of usefulness in TCB structuring added by these mechanisms. The
  6041. precision and conceptual simplicity of these mechanisms are assigned
  6042. to the highest level reflecting their importance in the rigorous
  6043. analysis of TCB structuring support.
  6044.  
  6045. At level SP-1, the structuring of the TCB includes the minimal
  6046. requirement of process isolation. Level SP-2 extends the support for
  6047. TCB structuring by including the separation of protection critical
  6048. elements and use of processor support for logically distinct storage
  6049. objects. Level SP-3 extends the precision requirements in the
  6050. definition of the protection mechanisms for TCB structuring support
  6051.  
  6052. SP-1: Process Isolation
  6053.  
  6054. The TCB shall maintain process isolation.
  6055.  
  6056. SP-2: Support for Storage Objects
  6057.  
  6058. The TCB shall maintain process isolation. The TCB shall separate those
  6059. elements that are protection- critical from those that are not.
  6060. Features in hardware, such as segmentation, shall be used to support
  6061. logically distinct storage objects with separate access-control
  6062. attributes (e.g., readable, writable).
  6063.  
  6064. SP-3: Structured Protection Mechanisms
  6065.  
  6066. The TCB shall maintain process isolation. The TCB shall separate those
  6067. elements that are protection- critical from those that are not.
  6068. Features in hardware, such as segmentation, shall be used to support
  6069. logically distinct storage objects with separate access-control
  6070. attributes (e.g., readable, writable). The TCB shall employ a
  6071. complete, conceptually simple, protection mechanism with precisely
  6072. defined semantics. This mechanism shall play a central role in
  6073. enforcing the internal structuring of the TCB and the product.
  6074.  
  6075. 5.3.1.6   Rated TCB Design Discipline Components
  6076.  
  6077. The TCB design discipline components are rated based on the coverage
  6078. of the disciplines used for TCB structuring. The requirements range
  6079. from TCB complexity minimization to the use of data hiding, layering,
  6080. and high-level synchronization constructs.
  6081.  
  6082. At level DD-1, the design disciplines covered include that of
  6083. minimizing the TCB complexity, of maximizing the use of data hiding,
  6084. and of employing well-defined exception handling techniques. Level
  6085. DD-2 extends this coverage by including the use of layering,
  6086. high-level synchronization primitives, and
  6087. multi-tasking/multi-threaded modules.
  6088.  
  6089. DD-1: Specification of Disciplines Used
  6090.  
  6091. The developer shall design the product to minimize the complexity of
  6092. the TCB. System engineering shall be directed towards excluding from
  6093. the TCB modules that are not protection critical.
  6094.  
  6095. The TCB design shall reflect use of modern software engineering
  6096. techniques, such as data hiding and abstraction (i.e., data,
  6097. functional, and control abstractions) and well-defined
  6098. exception-handling.
  6099.  
  6100. DD-2: Extended Disciplines for TCB Structuring
  6101.  
  6102. The developer shall design the product to minimize the complexity of
  6103. the TCB. System engineering shall be directed towards excluding from
  6104. the TCB modules that are not protection critical.
  6105.  
  6106. The TCB design shall reflect use of modern software engineering
  6107. techniques), such as data hiding and abstraction (i.e., data,
  6108. functional, and control abstractions) and well-defined
  6109. exception-handling. The TCB design shall also include use of layering
  6110. (including a rationale for each layering violation), high-level
  6111. synchronization constructs, and multi-tasking/ multi-threading.
  6112.  
  6113. 5.3.1.7   Rated Implementation Support Components
  6114.  
  6115. The implementation support components are rated according to the
  6116. precision and coverage in maintaining the implementation elements of
  6117. the TCB. At IM-1, the developer is only required to maintain the
  6118. implementation data used to generate a physical instantiation of the
  6119. TCB. IM-2 extends precision and coverage by requiring that the
  6120. implementation data be organized to reflect the TCB subsystem
  6121. structure and be identified as distinct configuration items. IM-3
  6122. further extends precision by requiring that the implementation data
  6123. reflect the TCB module structure. Finally, IM-4 further extends the
  6124. coverage of the maintenance method by requiring that the coding
  6125. standards be identified and enforced, and that the implementation data
  6126. modules use the same naming conventions as the design data to help
  6127. establish a link between the design and the implementation.
  6128.  
  6129. IM-1: Source Data Support
  6130.  
  6131. The developer shall maintain engineering diagrams and source code (as
  6132. applicable) for all TCB elements.
  6133.  
  6134. IM-2: Subsystem Correspondence Support
  6135.  
  6136. The developer shall maintain engineering diagrams and source code (as
  6137. applicable) for all TCB elements. The diagrams and source code for
  6138. each subsystem of the TCB shall be identified and provided as
  6139. configuration items.
  6140.  
  6141. IM-3: Module Correspondence Support
  6142.  
  6143. The developer shall maintain engineering diagrams and source code (as
  6144. applicable) for all TCB elements. The diagrams and source code for
  6145. each module of the TCB shall be identified and provided as
  6146. configuration items.
  6147.  
  6148. IM-4: Naming Support For Design Correspondence
  6149.  
  6150. The developer shall maintain engineering diagrams and source code (as
  6151. applicable) for all TCB elements. The developer shall identify the
  6152. programming languages used to develop the TCB software and reference
  6153. the definitions of those languages. The developer shall identify any
  6154. implementation dependent options of the programming language
  6155. compiler(s) used in the TCB source code. The developer shall describe
  6156. coding standards followed during the implementation of the product and
  6157. shall ensure that all source code complies with these standards. The
  6158. diagrams and source code for each module of the TCB shall be
  6159. identified and provided as configuration items.  The diagrams and
  6160. source code shall be named using the same conventions as those used in
  6161. the TCB design. The developer shall explain how the programming
  6162. languages used help establish the correspondence between the TCB
  6163. implementation and design.
  6164.  
  6165. 5.3.1.8   Rated Functional Testing Components
  6166.  
  6167. The functional testing components are rated according to the precision
  6168. and coverage of the testing method. The scope of testing is constant:
  6169. all functions (as represented by TCB properties) required by the
  6170. protection profile must be tested.  The strength of the testing method
  6171. is assumed to be the same: testing is always used to show the presence
  6172. of desired functionality. The precision of testing refers to the
  6173. accuracy of the TCB properties and the interface definition (i.e., the
  6174. interface description, DIS, or FIS) used to derive test conditions and
  6175. data. The coverage of testing refers to the extent to which each
  6176. function is tested (e.g., whether all or only a defined set of
  6177. boundary conditions are tested).
  6178.  
  6179. At FT-1, the goal is to produce functional evidence that the TCB is
  6180. capable of satisfying the protection profile requirements. At FT-2,
  6181. the coverage of the testing is increased by requiring the tests to
  6182. sample more of the range of TCB inputs. Coverage is also increased by
  6183. requiring that tests for previously discovered TCB flaws be executed
  6184. for all subsequent versions of the TCB (i.e., by regression testing).
  6185. Precision is extended at level FT-3by requiring that interface
  6186. specifications (i.e., DIS, FIS) be used to generate the test
  6187. conditions and data.
  6188.  
  6189. FT-1: Conformance Testing
  6190.  
  6191. The developer shall test the TCB interface to show that all claimed
  6192. protection functions work as stated in the TCB interface description.
  6193.  
  6194. The developer shall correct all flaws discovered by testing and shall
  6195. retest the TCB until the protection functions are shown to work as
  6196. claimed.
  6197.  
  6198. FT-2: TCB Interface Testing
  6199.  
  6200. The developer shall test the TCB interface to show that all claimed
  6201. protection functions work as stated in the TCB interface description
  6202. or specification. The tests shall exercise the boundary conditions of
  6203. the protection functions.  The developer test procedures shall include
  6204. the tests used to demonstrate the absence of all flaws discovered in
  6205. previous versions of the TCB.
  6206.  
  6207. The developer shall correct all flaws discovered by testing and shall
  6208. retest the TCB to show that all discovered flaws have been eliminated,
  6209. no new flaws have been introduced, and the protection functions work
  6210. as claimed.
  6211.  
  6212. FT-3: Specification-Driven TCB Interface Testing
  6213.  
  6214. The developer shall test the TCB interface to show that all claimed
  6215. protection functions work as stated in the TCB interface description
  6216. or specification. The tests shall exercise the boundary conditions of
  6217. the protection functions.  The developer shall generate the test
  6218. conditions and data from the Descriptive or Formal Interface
  6219. Specification(s). The developer test procedures shall include the
  6220. tests used to demonstrate the absence of all flaws discovered in
  6221. previous versions of the TCB.
  6222.  
  6223. The developer shall correct all flaws discovered by testing and shall
  6224. retest the TCB to show that all discovered flaws have been eliminated,
  6225. no new flaws have been introduced, and the protection functions work
  6226. as claimed.
  6227.  
  6228. 5.3.1.9   Rated Penetration Analysis Components
  6229.  
  6230. The penetration analysis components are rated based on the scope,
  6231. precision, coverage, and strength of the analysis methods used. The
  6232. scope and precision of the level PA-1 is limited to penetration
  6233. testing methods referring only to unprivileged user and application
  6234. programming interfaces of the TCB. The precision of penetration
  6235. testing is limited to that derived from documentation of the TCB
  6236. interface (e.g., system reference manuals). The coverage may be
  6237. limited to the testing of known classes of penetration flaws found in
  6238. other TCBs of the same, or different, types of products (e.g., generic
  6239. penetration flaws).
  6240.  
  6241. At level PA-2, both the precision and the coverage of penetration
  6242. testing are extended. The sources of design and implementation
  6243. information include, in addition to system reference manuals and TCB
  6244. interface description, the DIS, source code, and hardware and firmware
  6245. specifications. The test conditions are systematically generated using
  6246. the flaw- hypothesis method using the TCB interface specification.
  6247.  
  6248. Level PA-3 augments penetration testing with penetration- resistance
  6249. verification methods. In particular, penetration resistance properties
  6250. are defined and condition (validation) check specifications are
  6251. written for each property. The DIS and source code are then verified
  6252. to establish that the verification conditions are in fact implemented.
  6253.  
  6254. Level PA-4 represents a significant extension in the strength of the
  6255. penetration analysis. That is, it requires that the penetration
  6256. resistance properties of a TCB be verified formally using analysis
  6257. tools. This level assumes that the design and implementation of a TCB
  6258. is free of flaws that would cause penetration, and is intended to
  6259. demonstrate that TCB interfaces are resistant to penetration. As such,
  6260. it represents the highest level of penetration analysis assurance.
  6261.  
  6262. PA-1 Basic Penetration Testing
  6263.  
  6264. The developer shall define the TCB configuration, interface, and
  6265. protection functions that are subject to penetration testing. For each
  6266. test, the developer shall identify the goal of the test and the
  6267. criteria for successful penetration. The developer shall identify all
  6268. product documentation (e.g., system reference manuals) used to define
  6269. penetration-test conditions, and shall document all test conditions,
  6270. data (e.g., test set-up, function call parameters, and test outcomes),
  6271. and coverage.
  6272.  
  6273. The penetration testing shall include, at a minimum, known classes of
  6274. penetration flaws found in other TCBs (e.g., generic penetration
  6275. flaws).  For each uncovered flaw, the developer shall define and
  6276. document scenarios of flaw exploitation, and shall identify all
  6277. penetration outcomes resulting from that scenario.
  6278.  
  6279. PA-2 Flaw-Hypothesis Testing
  6280.  
  6281. The developer shall define the TCB configuration, interface, and
  6282. protection functions that are subject to penetration testing. For each
  6283. test, the developer shall identify the goal of the test and the
  6284. criteria for successful penetration. The developer shall illustrate
  6285. how, in addition to system reference manuals and TCB interface
  6286. description, the DIS, source code, and hardware and firmware
  6287. specifications are used to define penetration-test conditions. For
  6288. each test, the developer shall document all test conditions, data
  6289. (e.g., test set-up, function call parameters, and test outcomes), and
  6290. coverage.
  6291.  
  6292. The developer shall generate the test conditions from flaw-hypotheses
  6293. derived by negating assertions of TCB design capabilities and by
  6294. providing counter examples that show that these assertions are false.
  6295. The developer shall confirm the flaw hypotheses by checking design and
  6296. implementation documentation, by defining the test data and running
  6297. test programs, or by referring to known classes of penetration flaws
  6298. found in other TCBs. The refutation of any hypothesis shall be
  6299. documented.
  6300.  
  6301. For each uncovered flaw, the developer shall define and document
  6302. scenarios of flaw exploitation and shall identify all penetration
  6303. outcomes resulting from that scenario. The cause of the flaw shall be
  6304. identified and documented.
  6305.  
  6306.  PA-3 Penetration Analysis
  6307.  
  6308. The developer shall define the TCB configuration, interface, and
  6309. protection functions that are subject to penetration testing and
  6310. verification.  For each test, the developer shall identify the goal of
  6311. the test and the criteria for successful penetration. The developer
  6312. shall illustrate how, in addition to system reference manuals and TCB
  6313. interface description, the DIS, source code, and hardware and firmware
  6314. specifications are used to define penetration-test conditions. For
  6315. each test, the developer shall document all test conditions, data
  6316. (e.g., test set-up, function call parameters, and test outcomes), and
  6317. coverage.
  6318.  
  6319. The developer shall generate the test conditions from flaw-hypotheses
  6320. derived by negating assertions of TCB design capabilities and by
  6321. providing counter examples that show that these assertions are false.
  6322. The developer shall confirm the flaw hypotheses by checking design and
  6323. implementation documentation, by defining the test data and running
  6324. test programs, or by referring to known classes of penetration flaws
  6325. found in other TCBs. The refutation of each hypothesis shall be
  6326. documented.
  6327.  
  6328. The developer shall derive penetration-resistance properties and
  6329. conditions by interpreting reference mediation and TCB protection
  6330. requirements in the product's TCB. The penetration-resistance
  6331. properties and conditions shall also reflect the strength of
  6332. functional components (e.g., strength of the identification and
  6333. authentication).
  6334.  
  6335. The developer shall verify that the penetration- resistance conditions
  6336. are implemented by the TCB functions. All uncovered flaws in
  6337. implementing the penetration-resistance conditions shall be
  6338. documented. For each uncovered flaw, the developer shall define and
  6339. document scenarios of flaw exploitation and shall identify all
  6340. penetration outcomes resulting from that scenario. The cause of the
  6341. flaw shall be identified and documented.
  6342.  
  6343. PA-4 Analysis of Penetration Resistance
  6344.  
  6345. The developer shall define the TCB configuration, interface, and
  6346. protection functions that are subject to penetration testing and
  6347. verification.  For each test, the developer shall identify the goal of
  6348. the test and the criteria for successful penetration. The developer
  6349. shall illustrate how, in addition to system reference manuals and TCB
  6350. interface description, the DIS, source code, and hardware and firmware
  6351. specifications are used to define penetration-test conditions. For
  6352. each test, the developer shall document all test conditions, data
  6353. (e.g., test set-up, function call parameters, and test outcomes), and
  6354. coverage.
  6355.  
  6356. The developer shall generate the test conditions from flaw-hypotheses
  6357. derived by negating assertions of TCB design capabilities and by
  6358. providing counter examples that show that these assertions are false.
  6359. The developer shall confirm the flaw hypotheses by checking design and
  6360. implementation documentation, by defining the test data and running
  6361. test programs, or by referring to known classes of penetration flaws
  6362. found in other TCBs. The refutation of each hypothesis shall be
  6363. documented.
  6364.  
  6365. The developer shall use the DIS, FIS, source code, and hardware and
  6366. firmware specifications to derive and specify penetration-resistance
  6367. conditions, and shall document all such conditions. The developer
  6368. shall derive penetration-resistance properties and conditions by
  6369. interpreting reference mediation and TCB protection requirements in
  6370. the product's TCB.  The penetration-resistance properties and
  6371. conditions shall also reflect the strength of functional components
  6372. (e.g., strength of the identification and authentication).
  6373.  
  6374. The developer shall verify that the penetration- resistance conditions
  6375. are implemented by the TCB functions. Tools shall be used to verify
  6376. the penetration-resistance properties of the FIS and source code. The
  6377. tools shall be capable of checking whether a set of
  6378. penetration-resistance conditions is implemented by the FIS and/or
  6379. source code of a TCB function. All uncovered flaws in implementing the
  6380. penetration-resistance conditions shall be documented. For each
  6381. uncovered flaw, the developer shall define and document scenarios of
  6382. flaw exploitation and shall identify all penetration outcomes
  6383. resulting from that scenario.  The cause of the flaw shall be
  6384. identified and documented.
  6385.  
  6386. 5.3.1.10  Rated Covert-Channel Analysis Components
  6387.  
  6388.  The covert channel analysis components are rated based on the scope,
  6389. precision, coverage, and strength of the analysis methods. The scope
  6390. and precision of level CCA-1are limited to storage channels identified
  6391. in TCB reference manuals and DIS, and the strength of maximum
  6392. bandwidth estimation is limited to that provided by informal
  6393. engineering measurements. The scope of identification method is
  6394. increased at level CCA-2 by including both storage and timing channels
  6395. and, consequently, enlarging the scope of the sources of information
  6396. used (e.g., by introducing processor and hardware specifications). At
  6397. level CCA-3, the precision and coverage of the covert identification
  6398. are extended to include analysis of FIS and specification-to-code
  6399. correspondence. Also, the strength of the maximum bandwidth estimation
  6400. is increased by the requirement to use information theory methods.
  6401.  
  6402. CCA-1 Analysis of Covert Storage Channels
  6403.  
  6404. 1. Identification: The developer shall identify all sources of
  6405. information used in covert-storage- channel analysis. These sources
  6406. shall include TCB reference manuals and DIS. The developer shall
  6407. define the identification method used. The developer shall demonstrate
  6408. that the chosen identification method is sound (e.g., it leads to the
  6409. discovery of all covert storage channels in the DIS or source
  6410. documentation) and repeatable (i.e., independent evaluators can use
  6411. the method on the same sources of covert-storage-channel information
  6412. and can obtain the same results.) The developer shall define scenarios
  6413. of use for each covert storage channel.
  6414.  
  6415. 2. Bandwidth Measurement or Engineering Estimation: The developer
  6416. shall define the method used for covert-storage-channel bandwidth
  6417. estimation. In measuring TCB performance for covert-channel-bandwidth
  6418. estimation, the developer shall satisfy the following assumptions. The
  6419. maximum bandwidth estimation shall be based on the assumptions that
  6420. the storage channel is noiseless, that the senders and receivers are
  6421. not delayed by the presence of other processes in the product, and
  6422. that the sender-receiver synchronization time is negligible. The
  6423. choice of informal estimation methods shall define and justify the
  6424. coding method and, therefore, the distribution of "0s" and "1s" in all
  6425. transmissions.
  6426.  
  6427. The developer shall select TCB primitives to be measured for bandwidth
  6428. determination from real scenarios of covert-storage-channel use. The
  6429. developer shall specify TCB measurement environment for the bandwidth
  6430. measurements. This specification shall include: (1) the speed of the
  6431. product functions, (2) the product configuration, (3) the sizes of the
  6432. memory and cache components, and (4) the product initialization. The
  6433. sensitivity of the measurement results to configuration changes shall
  6434. be documented. The covert-storage-channel measurements shall include
  6435. the fastest TCB function calls for altering, viewing, and setting up
  6436. the transmission environment; the demonstrably fastest process
  6437. (context) switch time shall also be included in the bandwidth
  6438. measurements. All measurements shall be repeatable.
  6439.  
  6440. 3. Covert Channel Testing: The developer shall test all the use of all
  6441. identified covert storage channels to determine whether the handling
  6442. functions work as intended.
  6443.  
  6444.  CCA-2 Timing Channel Analysis
  6445.  
  6446. 1. Identification: The developer shall identify all sources of
  6447. information used in covert-channel analysis. These sources shall
  6448. include TCB reference manuals and DIS.  The sources of information and
  6449. methods of identification shall include processor specifications
  6450. whenever the identification method includes source code and hardware
  6451. analysis. The developer shall define the identification method used.
  6452. The developer shall demonstrate that the chosen identification method
  6453. is sound (e.g., it leads to the discovery of all covert channels in
  6454. the DIS or source documentation) and repeatable (i.e., independent
  6455. evaluators can use the method on the same sources of covert-channel
  6456. information and can obtain the same results.) The developer shall
  6457. define scenarios of use for each covert channel. The developer shall
  6458. also define timing channel scenarios, and shall identify all functions
  6459. that provide independent sources of timing (e.g., CPUs, I/O
  6460. processors).
  6461.  
  6462.  2. Bandwidth Measurement or Engineering Estimation: The developer
  6463. shall define the method used for covert-channel bandwidth estimation.
  6464. In measuring TCB performance for covert-channel- bandwidth estimation,
  6465. the developer shall satisfy the following assumptions. The maximum
  6466. bandwidth estimation shall be based on the assumptions that the covert
  6467. channel is noiseless, that the senders and receivers are not delayed
  6468. by the presence of other processes in the product, and that the
  6469. sender-receiver synchronization time is negligible. The choice of
  6470. informal estimation methods shall define and justify the coding method
  6471. and, therefore, the distribution of "0s" and "1s" in all
  6472. transmissions.
  6473.  
  6474. The developer shall select TCB primitives to be measured for bandwidth
  6475. determination from real scenarios of covert-channel use. The developer
  6476. shall specify TCB measurement environment for the bandwidth
  6477. measurements. This specification shall include: (1) the speed of the
  6478. product functions, (2) the product configuration, (3) the sizes of the
  6479. memory and cache components, and (4) the product initialization. The
  6480. sensitivity of the measurement results to configuration changes shall
  6481. be documented. The covert-channel measurements shall include the
  6482. fastest TCB function calls for altering, viewing, and setting up the
  6483. transmission environment; the demonstrably fastest process (context)
  6484. switch time shall also be included in the bandwidth measurements. All
  6485. measurements shall be repeatable.
  6486.  
  6487. 3. Covert Channel Testing: The developer shall test all the use of all
  6488. identified covert channels to determine whether the handling functions
  6489. work as intended.
  6490.  
  6491. CCA-3 Formal Covert Channel Analysis
  6492.  
  6493. 1. Identification: The developer shall identify all sources of
  6494. information used in covert-channel analysis. These sources shall
  6495. include TCB reference manuals, DIS, and FIS. The sources of
  6496. information and methods of identification shall include processor
  6497. specifications whenever the identification method includes source code
  6498. and hardware analysis.  The developer shall define the identification
  6499. method used. The developer shall define the identification method
  6500. used. The developer shall demonstrate that the chosen identification
  6501. method is sound (e.g., it leads to the discovery of all covert
  6502. channels in the FIS or source documentation) and repeatable (i.e.,
  6503. independent evaluators can use the method on the same sources of
  6504. covert-channel information and can obtain the same results.) The
  6505. method shall be applied on the FIS of the TCB, and shall include
  6506. syntactic information-flow analysis (with or without the use of
  6507. semantic analysis) or noninterference analysis. The identification of
  6508. covert channels shall include specification-to- code correspondence.
  6509.  
  6510. The developer shall define scenarios of use for each cover channel.
  6511. The developer shall also define timing channel scenarios, and shall
  6512. identify all functions that provide independent sources of timing
  6513. (e.g., CPUs, I/O processors).
  6514.  
  6515.  2. Bandwidth Measurement or Engineering Estimation: The developer
  6516. shall define the method used for covert-channel bandwidth estimation.
  6517. The method shall be based on information theory methods. In measuring
  6518. TCB performance for covert- channel-bandwidth estimation, the
  6519. developer shall satisfy the following assumptions. The maximum
  6520. bandwidth estimation shall be based on the assumptions that the covert
  6521. channel is noiseless, that the senders and receivers are not delayed
  6522. by the presence of other processes in the product, and that the
  6523. sender-receiver synchronization time is negligible.
  6524.  
  6525. The developer shall select TCB primitives to be measured for bandwidth
  6526. determination from real scenarios of covert channel use. The developer
  6527. shall specify TCB measurement environment for the bandwidth
  6528. measurements. This specification shall include: (1) the speed of the
  6529. product functions, (2) the product configuration, (3) the sizes of the
  6530. memory and cache components, and (4) the product initialization. The
  6531. sensitivity of the measurement results to configuration changes shall
  6532. be documented. The covert-channel measurements shall include the
  6533. fastest TCB function calls for altering, viewing, and setting up the
  6534. transmission environment; the demonstrably fastest process (context)
  6535. switch time shall also be included in the bandwidth measurements. All
  6536. measurements shall be repeatable.
  6537.  
  6538. 3. Covert Channel Testing: The developer shall test all the use of all
  6539. identified covert channels to determine whether the handling functions
  6540. work as intended.
  6541.  
  6542. 5.3.2     Operational Support
  6543.  
  6544. 5.3.2.1   Rated User Guidance Components
  6545.  
  6546. The user guidance component is unrated since it contain only one
  6547. level.
  6548.  
  6549. UG-1: User Guide
  6550.  
  6551. The developer shall provide a User Guide which describes all
  6552. protection services provided and enforced by the TCB. The User Guide
  6553. shall describe the interaction between these services and provide
  6554. examples of their use. The User Guide may be in the form of a summary,
  6555. chapter or manual. The User Guide shall specifically describe user
  6556. responsibilities. These shall encompass any user responsibilities
  6557. identified in the protection profile.
  6558.  
  6559. 5.3.2.2   Rated Administrative Guidance Components
  6560.  
  6561. The rating of the administrative guidance components reflect, to a
  6562. large degree, the rating of the security management components. At
  6563. AG-1, the coverage of the Trusted Facility Manual (TFM) must include
  6564. an explanation of how the TCB can be installed and used to support an
  6565. organization's security policy. This explanation must include a
  6566. discussion of how to set the security parameters for all TCB functions
  6567. and how to use the audit trail to discover policy violations (see the
  6568. administrative functions of components SM-1 and SM-2). At AG- 2, TFM
  6569. coverage is extended to include a discussion of how to set additional
  6570. policy parameters, how to use the separate administrator and operator
  6571. roles and privileges, and how to securely generate the TCB (see the
  6572. administrative functions of component SM-3). Finally, at AG-3, which
  6573. assumes a product with fine-grained privileges, the TFM coverage is
  6574. increased to include the use of those privileges in implementing
  6575. extensive administrative policies (see the administrative functions of
  6576. component SM-4).
  6577.  
  6578. AG-1: Basic Administrative Guidance
  6579.  
  6580. The developer shall provide a Trusted Facility Manual intended for the
  6581. product administrators that describes how to use the TCB security
  6582. services (e.g., Access Control, System Entry, or Audit) to enforce a
  6583. system security policy. The Trusted Facility Manual shall include the
  6584. procedures for securely configuring, starting, maintaining, and
  6585. halting the TCB. The Trusted Facility Manual shall explain how to
  6586. analyze audit data generated by the TCB to identify and document user
  6587. and administrator violations of this policy.  The Trusted Facility
  6588. Manual shall explain the privileges and functions of administrators.
  6589. The Trusted Facility Manual shall describe the administrative
  6590. interaction between security services.
  6591.  
  6592. The Trusted Facility Manual shall be distinct from User Guidance, and
  6593. encompass any administrative responsibilities identified in security
  6594. management.
  6595.  
  6596. AG-2: Detailed Administrative Guidance
  6597.  
  6598. The developer shall provide a Trusted Facility Manual intended for the
  6599. product administrators and operators that describes how to use the TCB
  6600. security services (e.g., Access Control, System Entry, or Audit) to
  6601. enforce a system security policy. The Trusted Facility Manual shall
  6602. include the procedures for securely configuring, starting,
  6603. maintaining, and halting the TCB. The Trusted Facility Manual shall
  6604. explain how to analyze audit data generated by the TCB to identify and
  6605. document user and administrator violations of this policy.  The
  6606. Trusted Facility Manual shall explain the unique security-relevant
  6607. privileges and functions of administrators and operators. The Trusted
  6608. Facility Manual shall describe the administrative interaction between
  6609. security services.
  6610.  
  6611. The Trusted Facility Manual shall identify all hardware, firmware,
  6612. software, and data structures comprising the TCB. The detailed audit
  6613. record structure for each type of audit event shall be described. If
  6614. covert channel handling is required, the Trusted Facility Manual shall
  6615. explain how to configure the product to mitigate, eliminate, or audit
  6616. covert channel exploitation. The Trusted Facility Manual shall
  6617. describe the cautions about and procedures for using the TCB as a base
  6618. for site-specific secure applications. The Trusted Facility Manual
  6619. shall describe procedures for securely regenerating the TCB after any
  6620. part is changed (e.g., due to adding devices or installing flaw
  6621. corrections to the TCB software).
  6622.  
  6623. The Trusted Facility Manual shall be distinct from User Guidance, and
  6624. encompass any administrative responsibilities identified in security
  6625. management.
  6626.  
  6627. AG-3: Role-Based Administrative Guidance
  6628.  
  6629. The developer shall provide a Trusted Facility Manual intended for the
  6630. product administrators and operators that describes how to use the TCB
  6631. security services (e.g., Access Control, System Entry, or Audit) to
  6632. enforce a system security policy. The Trusted Facility Manual shall
  6633. include the procedures for securely configuring, starting,
  6634. maintaining, and halting the TCB. The Trusted Facility Manual shall
  6635. explain how to analyze audit data generated by the TCB to identify and
  6636. document user and administrator violations of this policy.  The
  6637. Trusted Facility Manual shall explain the unique security-relevant
  6638. privileges and functions of administrators and operators. The Trusted
  6639. Facility Manual shall also explain the distinct security-relevant
  6640. privileges and functions of the TCB and how they can be selectively
  6641. granted to provide fine-grained, multi-person or multi-role system and
  6642. application administration policies.  The Trusted Facility Manual
  6643. shall describe the administrative interaction between security
  6644. services.
  6645.  
  6646. The Trusted Facility Manual shall identify all hardware, firmware,
  6647. software, and data structures comprising the TCB. The detailed audit
  6648. record structure for each type of audit event shall be described. If
  6649. covert channel handling is required, the Trusted Facility Manual shall
  6650. explain how to configure the product to mitigate, eliminate, or audit
  6651. covert channel exploitation. The Trusted Facility Manual shall
  6652. describe the cautions about and procedures for using the TCB as a base
  6653. for site-specific secure applications. The Trusted Facility Manual
  6654. shall describe procedures for securely regenerating the TCB after any
  6655. part is changed (e.g., due to adding devices or installing flaw
  6656. corrections to the TCB software).
  6657.  
  6658. The Trusted Facility Manual shall be distinct from User Guidance, and
  6659. encompass any administrative responsibilities identified in security
  6660. management.
  6661.  
  6662. 5.3.2.3   Rated Flaw Remediation Components
  6663.  
  6664. The flaw remediation components are rated according to the precision,
  6665. coverage and strength of the procedures used to identify and correct
  6666. flaws, and disseminate corrections to affected consumers. At FR-1, the
  6667. developer is responsible for establishing procedures to accept reports
  6668. of flaws, find corrections to those flaws, and disseminate the flaw
  6669. corrections to consumers who specifically request the corrections. At
  6670. FR-2, the precision of the developer-consumer interaction is increased
  6671. by requiring that the developer identify and publicize specific points
  6672. of contact for product security concerns. Coverage is increased by
  6673. requiring a remediation policy that distinguishes protection-relevant
  6674. changes to the product from other changes. At FR-3, the coverage of
  6675. both flaw repair and customer interaction procedures is increased by
  6676. considering the customer's security policies and by relating each
  6677. entry in the flaw tracking and repair database to the consumers who
  6678. might be affected. At FR-4, precision and coverage are extended by
  6679. requiring the developer to notify consumers of flaw discovery and to
  6680. distribute corrections of the discovered flaws within specific time
  6681. limits. Finally, at FR-5, the method is strengthened by requiring that
  6682. the flaw remediation procedures be tightly coupled to the rest of the
  6683. development process through the configuration management system.
  6684.  
  6685. FR-1: Basic Flaw Remediation
  6686.  
  6687. Flaw Tracking Procedures: The developer shall establish a procedure to
  6688. track all reported protection flaws in each release of the product.
  6689. The tracking system shall include a description of the nature and
  6690. effect of each flaw and the status of finding a correction to the
  6691. flaw.
  6692.  
  6693. Flaw Repair Procedures: The developer shall establish a procedure to
  6694. identify corrective actions for protection flaws.
  6695.  
  6696. Consumer Interaction Procedures: The developer shall provide flaw
  6697. information and corrections to registered consumers.
  6698.  
  6699. FR-2: Flaw Reporting Procedures
  6700.  
  6701. Flaw Tracking Procedures: The developer shall establish a procedure to
  6702. track all reported protection flaws with each release of the product.
  6703. The tracking system shall include a description of the nature and
  6704. effect of each flaw and the status of finding a correction to the
  6705. flaw.
  6706.  
  6707. Flaw Repair Procedures: The developer shall establish a procedure to
  6708. identify corrective actions for protection flaws. This procedure shall
  6709. include a policy to separate protection-relevant from non-protection
  6710. relevant corrections, changes, or upgrades to the product.
  6711.  
  6712. Consumer Interaction Procedures: The developer shall establish a
  6713. procedure for accepting consumer reports of protection problems and
  6714. requests for corrections to those problems. The developer shall
  6715. designate one or more specific points of contact for consumer reports
  6716. and inquiries about protection issues involving the product. This
  6717. procedure and the designated points of contact shall be provided in
  6718. the consumer documentation (e.g., the TFM or the SFUG).
  6719.  
  6720. FR-3: Systematic Flaw Remediation
  6721.  
  6722. Flaw Tracking Procedures: The developer shall establish a procedure to
  6723. track all reported protection flaws with each release of the product.
  6724. The tracking system shall include a description of the nature and
  6725. effect of each flaw and the status of finding a correction to the
  6726. flaw.
  6727.  
  6728. Flaw Repair Procedures: The developer shall establish a procedure to
  6729. identify corrective actions for protection flaws. This procedure shall
  6730. include a policy to separate protection-relevant from non-protection
  6731. relevant corrections, changes, or upgrades to the product. The
  6732. developer shall have a policy that when a consumer's system must be
  6733. used to diagnose and repair any problem, the developer personnel will
  6734. abide by that consumer's system security policy.
  6735.  
  6736. Consumer Interaction Procedures: The developer shall establish a
  6737. procedure for accepting consumer reports of protection problems and
  6738. requests for corrections to those problems. This procedure shall also
  6739. provide for automatic distribution of problem reports, for which
  6740. corrections have been found, to registered consumers who might be
  6741. affected by the problem. The developer shall designate one or more
  6742. specific points of contact for consumer reports and inquiries about
  6743. protection issues involving the product. These procedures and the
  6744. designated points of contact shall be provided in the consumer
  6745. documentation (e.g., the TFM or the SFUG).
  6746.  
  6747. FR-4: Timely Flaw Remediation
  6748.  
  6749. Flaw Tracking Procedures: The developer shall establish a procedure to
  6750. track all reported protection flaws with each release of the product.
  6751. The tracking system shall include a description of the nature and
  6752. effect of each flaw and the status of finding a correction to the
  6753. flaw.
  6754.  
  6755. Flaw Repair Procedures: The developer shall establish a procedure to
  6756. identify corrective actions for protection flaws. This procedure shall
  6757. include a policy to separate protection-relevant from non-protection
  6758. relevant corrections, changes, or upgrades to the product. The
  6759. developer shall have a policy that when a consumer's system must be
  6760. used to diagnose and repair any problem, the developer personnel will
  6761. abide by that consumer's system security policy.
  6762.  
  6763. Consumer Interaction Procedures: The developer shall establish a
  6764. procedure for accepting consumer reports of protection problems and
  6765. requests for corrections to those problems. This procedure shall
  6766. establish strict time intervals for automatically distributing the
  6767. problem reports to registered consumers who might be affected by the
  6768. problem and subsequently distributing the corrections that are found
  6769. to these same consumers. The developer shall designate one or more
  6770. specific points of contact for consumer reports and inquiries about
  6771. protection issues involving the product. These procedures and the
  6772. designated points of contact shall be provided in the consumer
  6773. documentation (e.g., the TFM or the SFUG).
  6774.  
  6775. FR-5: Controlled Protection State
  6776.  
  6777. Flaw Tracking Procedures: The developer shall establish a procedure to
  6778. track all reported protection flaws with each release of the product.
  6779. The tracking system shall include a description of the nature and
  6780. effect of each flaw and the status of finding a correction to the
  6781. flaw. The tracking system shall be incorporated into the configuration
  6782. management system.
  6783.  
  6784. Flaw Repair Procedures: The developer shall establish a procedure to
  6785. identify corrective actions for protection flaws. This procedure shall
  6786. include a policy to separate protection-relevant from non-protection
  6787. relevant corrections, changes, or upgrades to the product. The
  6788. developer shall have a policy that when a consumer's system must be
  6789. used to diagnose and repair any problem, the developer personnel will
  6790. abide by that consumer's system security policy.
  6791.  
  6792. Consumer Interaction Procedures: The developer shall establish a
  6793. procedure for accepting consumer reports of protection problems and
  6794. requests for corrections to those problems. This procedure shall
  6795. establish strict time intervals for automatically distributing the
  6796. problem reports to registered consumers who might be affected by the
  6797. problem and subsequently distributing the corrections that are found
  6798. to these same consumers. The developer shall designate one or more
  6799. specific points of contact for consumer reports and inquiries about
  6800. protection issues involving the product. These procedures and the
  6801. designated points of contact shall be provided in the consumer
  6802. documentation (e.g., the TFM or the SFUG).
  6803.  
  6804. 5.3.2.4   Rated Trusted Generation Components
  6805.  
  6806. The trusted generation components are rated according to the coverage
  6807. and strength of the methods used to generate the baseline TCB. The
  6808. goal is to produce an operational TCB that does not invalidate the
  6809. protection properties established for the baseline TCB. At TG-1, the
  6810. developer must provide procedures for generating an operational TCB
  6811. from the delivered product. At TG-2, the coverage of the system
  6812. generation method is increased by requiring the developer to have the
  6813. system generation parameters default to their most restrictive
  6814. settings, thereby requiring the consumer to take a positive action to
  6815. reduce the protection provided by the TCB. At TG-3, the coverage and
  6816. strength of the generation method are increased by requiring the
  6817. developer to provide a tool that can be used after the TCB is
  6818. generated to determine if the TCB parameters are within the ranges of
  6819. a secure state.  Finally, at TG-4, coverage and strength are further
  6820. extended by requiring that the product periodically execute the
  6821. parameter checking tool and alert an administrator or operator when
  6822. the TCB configuration parameters are out of range.
  6823.  
  6824. TG-1: Basic Trusted Generation
  6825.  
  6826. The developer shall establish and document the procedures that a
  6827. consumer must perform to generate an operational TCB from the
  6828. delivered copy of the master TCB. The consumer documentation shall
  6829. identify any system parameters, which are initialized or set during
  6830. system generation, that affect the TCB's conformance to the protection
  6831. profile and state the acceptable ranges of values for those
  6832. parameters.
  6833.  
  6834. TG-2: Trusted Generation With Fail-Safe Defaults
  6835.  
  6836. The developer shall establish and document the procedures that a
  6837. consumer must perform to generate an operational TCB from the
  6838. delivered copy of the master TCB. The consumer documentation shall
  6839. identify any system parameters, which are initialized or set during
  6840. system generation, that affect the TCB's conformance to the protection
  6841. profile and state the acceptable ranges of values for those
  6842. parameters. The product shall be delivered with each of these
  6843. parameters set to its fail-safe defaults.
  6844.  
  6845. TG-3: Trusted Generation With Secure State Review
  6846.  
  6847. The developer shall establish and document the procedures that a
  6848. consumer must perform to generate an operational TCB from the
  6849. delivered copy of the master TCB. The consumer documentation shall
  6850. identify any system parameters, which are initialized or set during
  6851. system generation, that affect the TCB's conformance to the protection
  6852. profile and state the acceptable ranges of values for those
  6853. parameters. The product shall be delivered with each of these
  6854. parameters set to its fail-safe defaults. The developer shall provide
  6855. the consumer with a capability to review the product security state
  6856. (e.g., by providing a program, which could be executed after
  6857. generating and starting the TCB, that determines the consistency of
  6858. the protection-relevant parameters).
  6859.  
  6860. TG-4: Trusted Generation With Secure State Monitoring
  6861.  
  6862. The developer shall establish and document the procedures that a
  6863. consumer must perform to generate an operational TCB from the
  6864. delivered copy of the master TCB. The consumer documentation shall
  6865. identify any system parameters, which are initialized or set during
  6866. system generation, that affect the TCB's conformance to the protection
  6867. profile and state the acceptable ranges of values for those
  6868. parameters. The product shall be delivered with each of these
  6869. parameters set to its most protective value. The developer shall
  6870. provide the consumer with a capability to monitor the product security
  6871. state (e.g., by providing a program, which is periodically and
  6872. automatically executed after generating and starting the TCB, that
  6873. determines the consistency of the protection- relevant parameters).
  6874.  
  6875. 5.3.3     Development Environment
  6876.  
  6877. 5.3.3.1   Rated Life Cycle Definition Components
  6878.  
  6879. The life-cycle definition components are rated according to the
  6880. precision and coverage of the engineering process used to develop the
  6881. product. Coverage refers to the extent to which the engineering
  6882. process incorporates the development and operational support
  6883. requirements of a protection profile.  Precision refers to the
  6884. accuracy that can be brought to measuring the developer's conformance
  6885. to the claimed process including the specification of the programming
  6886. environment.  At LC-1, the developer is required to describe the
  6887. process used to develop the product, and show how all of the
  6888. development and operational support requirements of the protection
  6889. profile are satisfied as that process is followed.  No constraints are
  6890. placed on the engineering process chosen by the developer. At LC-2,
  6891. the precision and coverage are extended by requiring the developer to
  6892. use a well-defined process that provides for effective identification
  6893. of the engineering requirements as the product is developed.  Finally,
  6894. at LC-3, precision and coverage are further extended by requiring a
  6895. standard engineering process, which includes well-defined coding
  6896. standards, whose use can be measured.
  6897.  
  6898. LC-1: Developer-Defined Life Cycle Process
  6899.  
  6900. The developer shall describe the process used to develop and maintain
  6901. the product. The process shall incorporate a security policy that
  6902. states the technical, physical, procedural, personnel, and other
  6903. measures used by the developer to protect the product and its
  6904. documentation. The developer shall trace each development process and
  6905. support process requirement of the protection profile to the part, or
  6906. parts, of the developer's process where the requirement is satisfied.
  6907. The developer shall identify the programming languages used to develop
  6908. the TCB software.
  6909.  
  6910. LC-2: Standardized Life Cycle Process
  6911.  
  6912. The developer shall develop and maintain the product using a well
  6913. defined, standardized engineering process. The developer shall explain
  6914. why the process was chosen and how the developer uses it to develop
  6915. and maintain the product. The process shall incorporate a security
  6916. policy that states the technical, physical, procedural, personnel, and
  6917. other measures used by the developer to protect the product and its
  6918. documentation. The developer shall demonstrate that each development
  6919. process and support process requirement of the protection profile is
  6920. satisfied by some part, or parts, of the developer's process. The
  6921. developer shall identify the programming languages used to develop the
  6922. TCB software and reference the definitions of those languages. The
  6923. developer shall identify any implementation dependent options of the
  6924. programming language compiler(s) used to implement the TCB software.
  6925.  
  6926. LC-3: Measurable Life Cycle Process
  6927.  
  6928. The developer shall develop and maintain the product using a well
  6929. defined, standardized, and measurable engineering process. The
  6930. developer shall explain why the process was chosen and how the
  6931. developer uses it to develop and maintain the product. The developer
  6932. shall comply with the engineering process standard. The process shall
  6933. incorporate a security policy that states the technical, physical,
  6934. procedural, personnel, and other measures used by the developer to
  6935. protect the product and its documentation. The developer shall
  6936. demonstrate that each development process and support process
  6937. requirement of the protection profile is satisfied by some part, or
  6938. parts, of the developer's process. The developer shall identify the
  6939. programming languages used to develop the TCB software and reference
  6940. the definitions of those languages. The developer shall identify any
  6941. implementation dependent options of the programming language
  6942. compiler(s) used to implement the TCB software and reference the
  6943. definitions of those languages.The developer shall describe coding
  6944. standards followed during the implementation of the product and shall
  6945. ensure that all source code complies with these standards.
  6946.  
  6947. 5.3.3.2   Rated Configuration Management Components
  6948.  
  6949. The configuration management components are rated according to the
  6950. precision, coverage, and strength of the configuration management
  6951. methods. Level CM-1 includes basic configuration management methods
  6952. that rely on an informal mapping between the various parts of the TCB
  6953. source data, documentation, and evidence. At CM-2, the precision and
  6954. strength of configuration management are increased by requiring that a
  6955. rigorous mapping between configuration items be used, and that the
  6956. source data configuration be controlled using automated techniques. At
  6957. CM-3, coverage and strength are extended by requiring the use of a
  6958. formal acceptance procedure for generating and maintaining source
  6959. data. Finally, at CM-4, the strength of the overall configuration
  6960. management process is enhanced by requiring that it conform to
  6961. developer-defined safeguards to protect the master copy.
  6962.  
  6963. CM-1: Procedural Control and Generation
  6964.  
  6965. The developer shall establish configuration control and generation
  6966. procedures for developing and maintaining the TCB. The procedures
  6967. shall be employed to ensure that changes to the TCB are consistent
  6968. with the product's protection properties and security policy. The
  6969. developer shall employ these procedures to track changes to
  6970. development evidence, implementation data (e.g., source code and
  6971. hardware diagrams), executable versions of the TCB, test documentation
  6972. and procedures, identified flaws, and consumer documentation.
  6973.  
  6974. The configuration control procedures shall permit the regeneration of
  6975. any supported version of the TCB.
  6976.  
  6977. CM-2: Automated Source Code Control
  6978.  
  6979. The developer shall establish configuration control and generation
  6980. procedures for developing and maintaining the TCB. The procedures
  6981. shall be employed to ensure that changes to the TCB are consistent
  6982. with the product's protection properties and security policy. The
  6983. developer shall employ these procedures to track changes to
  6984. development evidence, implementation data (e.g., source code and
  6985. hardware diagrams), executable versions of the TCB, test documentation
  6986. and procedures, identified flaws, and consumer documentation. The
  6987. procedures shall include automated tools to control the software
  6988. source code that comprises the TCB.
  6989.  
  6990. The configuration control procedures shall assure a consistent mapping
  6991. among documentation and code associated with the current version of
  6992. the TCB and permit the regeneration of any supported version of the
  6993. TCB.
  6994.  
  6995. CM-3: Comprehensive Automated Control
  6996.  
  6997. The developer shall establish configuration control and generation
  6998. procedures employing automated tools for developing and maintaining
  6999. the TCB. The procedures shall be employed to ensure that changes to
  7000. the TCB are consistent with the product's protection properties and
  7001. security policy. The developer shall employ these tools to track and
  7002. control changes to development evidence, implementation data (e.g.,
  7003. source code and hardware diagrams), executable versions of the TCB,
  7004. test documentation and procedures, identified flaws, and consumer
  7005. documentation. The procedures shall include a formal acceptance
  7006. process for protection-relevant changes.
  7007.  
  7008. The configuration control procedures shall assure a consistent mapping
  7009. among documentation and code associated with the current version of
  7010. the TCB and permit the regeneration of any supported version of the
  7011. TCB. The developer shall provide tools for the generation of a new
  7012. version of the TCB from source code. Also, tools shall be available
  7013. for comparing a newly generated version with the previous TCB version
  7014. to ascertain that only the intended changes have been made in the code
  7015. that will actually be used as the new version of the TCB.
  7016.  
  7017. CM-4: Extended Configuration Management
  7018.  
  7019. The developer shall establish configuration control and generation
  7020. procedures employing automated tools for developing and maintaining
  7021. the TCB. The procedures shall be employed to ensure that all changes
  7022. to the TCB are consistent with the product's protection properties and
  7023. security policy. The developer shall employ these tools to track and
  7024. control changes to development evidence, implementation data (e.g.,
  7025. source code and hardware diagrams), executable versions of the TCB,
  7026. test documentation and procedures, identified flaws, and consumer
  7027. documentation. The procedures shall include a formal acceptance
  7028. process for protection-relevant changes.
  7029.  
  7030. The configuration control procedures shall assure a consistent mapping
  7031. among documentation and code associated with the current version of
  7032. the TCB and permit the regeneration of any supported version of the
  7033. TCB. The developer shall provide tools for the generation of a new
  7034. version of the TCB from source code. Also, tools shall be available
  7035. for comparing a newly generated version with the previous TCB version
  7036. to ascertain that only the intended changes have been made in the code
  7037. that will actually be used as the new version of the TCB. The
  7038. developer shall use a combination of technical, physical, and
  7039. procedural safeguards to protect the master copy or copies of all
  7040. material used to generate the TCB from unauthorized modification or
  7041. destruction.
  7042.  
  7043. 5.3.3.3   Rated Trusted Distribution Components
  7044.  
  7045. The rating of the trusted distribution components is based on the
  7046. strength the trusted distribution methods; i.e., on the ability to
  7047. detect or prevent modifications of the consumer's copy of the TCB from
  7048. being modified while it is transferred from the development
  7049. environment to the consumer's environment. At TD-1 the developer is
  7050. responsible for establishing procedures and/or using technical
  7051. measures that will allow a consumer to detect tampering or
  7052. modification of the TCB during transfer. At TD-2, stronger methods are
  7053. required to ensure that tampering with the TCB during transfer is
  7054. prevented.
  7055.  
  7056. TD-1: TCB Modification Detection During Distribution
  7057.  
  7058. The developer shall establish procedures and employ appropriate
  7059. technical measures to detect modifications to any TCB-related
  7060. software, firmware, and hardware, including updates, that is
  7061. transferred from the development environment to a consumer's site.
  7062.  
  7063. TD-2: TCB Modification Prevention During Distribution
  7064.  
  7065. The developer shall establish procedures and employ appropriate
  7066. technical measures to prevent modifications to any TCB-related
  7067. software, firmware, and hardware, including updates, that is
  7068. transferred from the development environment to a consumer's site.
  7069.  
  7070. 5.3.4     Development Evidence
  7071.  
  7072. The rating of the development evidence parallels, to a large extent,
  7073. the rating of the development process, development environment, and
  7074. operational support. Thus, the number of evidence levels required to
  7075. reflect the process, environment and operational ratings must reflect
  7076. these ratings.
  7077.  
  7078. The rating considerations that lead to the articulation of the
  7079. development-evidence levels are similar to those used for the
  7080. development process. For this reason they will not be repeated here.
  7081.  
  7082. 5.3.4.1   Rated TCB Protection Property Evidence Components
  7083.  
  7084. EPP-1 Evidence of TCB Correspondence to the Functional Requirements
  7085.  
  7086. The developer shall provide documentation which describes the
  7087. correspondence between the functional component requirements and the
  7088. TCB elements and interfaces. The TCB properties, which are defined by
  7089. this correspondence, shall be explained in this documentation.
  7090.  
  7091. EPP-2 Evidence of Informal Model Interpretation in the TCB
  7092.  
  7093. The developer shall provide documentation which describes the
  7094. correspondence between the functional component requirements and the
  7095. TCB elements and interfaces. The developer shall also provide an
  7096. informal access control model and its interpretation within the TCB.
  7097. The TCB properties, which are defined by this correspondence, shall be
  7098. explained in this documentation.
  7099.  
  7100. EPP-3 Evidence of Formal Model Interpretation in the DIS
  7101.  
  7102. The developer shall provide documentation which describes the
  7103. correspondence between the functional component requirements and the
  7104. TCB elements and interfaces. This documentation shall describe how the
  7105. TCB implements the reference monitor concept. The developer shall also
  7106. provide a formal access-control model and an informal reference
  7107. mediation and TCB protection model. The TCB properties, which are
  7108. defined by this correspondence and the interpretation of these models
  7109. within the DIS of the TCB shall be documented by the product
  7110. developer.
  7111.  
  7112. EPP-4 Evidence of Formal Model Interpretation in the FIS
  7113.  
  7114. The developer shall provide documentation which describes the
  7115. correspondence between the functional component requirements and the
  7116. TCB elements and interfaces. This documentation shall describe how the
  7117. TCB implements the reference monitor concept.The developer shall also
  7118. provide a formal access-control model and an informal reference
  7119. mediation and TCB protection model. The TCB properties, which are
  7120. defined by this correspondence and the interpretation of these models
  7121. within the DIS and FIS of the TCB shall be documented by the product
  7122. developer.
  7123.  
  7124. 5.3.4.2   Rated Product Design/Implementation Evidence Compo- nents
  7125.  
  7126. EPD-1: Description Of The TCB External Interface
  7127.  
  7128. The developer shall provide an accurate description of the functions,
  7129. effects, exceptions and error messages visible at the TCB interface.
  7130.  
  7131. The developer shall provide a list of the TCB elements (hardware,
  7132. software, and firmware).
  7133.  
  7134. EPD-2: Specification Of The TCB External Interface
  7135.  
  7136. The developer shall provide TCB Design Specifications that include: a
  7137. list of the TCB elements (hardware, software, and firmware
  7138. configuration items); a description of the policy allocations,
  7139. functions, and interactions among the major TCB subsystems; and module
  7140. level descriptions of all software and hardware in the TCB.
  7141.  
  7142. The developer shall provide a Descriptive Interface Specification
  7143. (DIS) that describes the functions, effects, exceptions and error
  7144. messages visible at the TCB interface. The developer shall show that
  7145. the DIS is an accurate representation of the TCB's external
  7146. interfaces.
  7147.  
  7148. The developer shall provide a description of the TCB's implementation
  7149. and an explanation of how it corresponds to the TCB design.
  7150.  
  7151. EPD-3: Analysis Of The TCB External Interface
  7152.  
  7153. The developer shall provide TCB Design Specifications that include: a
  7154. list of the TCB elements (hardware, software, and firmware
  7155. configuration items); a list of protection services provided to the
  7156. TCB by hardware, software, and firmware that is not part of the TCB;
  7157. an explanation of the techniques and criteria used during the modular
  7158. decomposition of the TCB; a description of the policy allocations,
  7159. functions, and interactions among the major TCB subsystems; and module
  7160. level descriptions of all software and hardware in the TCB.
  7161.  
  7162. The developer shall provide a Descriptive Interface Specification
  7163. (DIS) that describes the functions, effects, exceptions and error
  7164. messages visible at the TCB interface. The developer shall show that
  7165. the DIS is an accurate representation of the TCB's external
  7166. interfaces.
  7167.  
  7168. The developer shall provide TCB Implementation Data consisting of the
  7169. engineering diagrams for all hardware included in the TCB and the
  7170. source code used to generate the TCB software and firmware.
  7171.  
  7172. EPD-4: Policy Consistency Of The DIS
  7173.  
  7174. The developer shall provide TCB Design Specifications that include: a
  7175. list of the TCB elements (hardware, software, and firmware
  7176. configuration items); a list of protection services provided to the
  7177. TCB by hardware, software, and firmware that is not part of the TCB;
  7178. an explanation of the techniques and criteria used during the modular
  7179. decomposition of the TCB; a description of the policy allocations,
  7180. functions, and interactions among the major TCB subsystems; and module
  7181. level descriptions of all software and hardware in the TCB.
  7182.  
  7183. The developer shall provide a Descriptive Interface Specification
  7184. (DIS) that describes the functions, effects, exceptions and error
  7185. messages visible at the TCB interface and includes a convincing
  7186. argument that the DIS is consistent with the formal model of the
  7187. policy. The developer shall show that the DIS is an accurate
  7188. representation of the TCB's external interfaces.
  7189.  
  7190. The developer shall provide TCB Implementation Data consisting of the
  7191. engineering diagrams for all hardware included in the TCB and the
  7192. source code used to generate the TCB software and firmware. The
  7193. developer shall show that the TCB software, firmware, and hardware
  7194. implement the documented TCB design.
  7195.  
  7196. EPD-5: Policy Consistency Of The FIS
  7197.  
  7198. The developer shall provide a Descriptive Interface Specification
  7199. (DIS) that describes the functions, effects, exceptions and error
  7200. messages visible at the TCB interface and includes a convincing
  7201. argument that the DIS is consistent with the formal model of the
  7202. policy. The developer shall show that the DIS is an accurate
  7203. representation of the TCB's external interfaces.
  7204.  
  7205. The developer shall provide a Formal Interface Specification (FIS)
  7206. that rigorously defines the protection functions available at the TCB
  7207. interface in terms of: the protection properties implemented by each
  7208. function, the precise semantics for invoking each function, the
  7209. effects of each function (i.e., returned values and effect on the TCB
  7210. state), and the possible exceptions and error messages returned by
  7211. each function. The FIS shall be accompanied by a convincing argument
  7212. that it is consistent with the formal model of the product protection
  7213. policy. This argument shall be constructed using both manual and
  7214. machine-assisted specification and verification methods. Machine-
  7215. assisted specification and verification methods shall be approved by
  7216. the product evaluation authority.
  7217.  
  7218. The developer shall provide TCB Design Specifications that include: a
  7219. list of the TCB elements (hardware, software, and firmware
  7220. configuration items); a list of protection services provided to the
  7221. TCB by hardware, software, and firmware that is not part of the TCB;
  7222. an explanation of the techniques and criteria used during the modular
  7223. decomposition of the TCB; a description of the policy allocations,
  7224. functions, and interactions among the major TCB subsystems; module
  7225. level descriptions of all software and hardware in the TCB; and an
  7226. argument that the design implements exactly the functions specified in
  7227. the FIS.
  7228.  
  7229. The developer shall provide TCB Implementation Data consisting of the
  7230. engineering diagrams for all hardware included in the TCB and the
  7231. source code used to generate the TCB software and firmware. The
  7232. developer shall show, through either manual or machine-assisted
  7233. correspondence methods, that the TCB software, firmware, and hardware
  7234. implement the documented TCB design.
  7235.  
  7236. 5.3.4.3   Rated Functional Testing Evidence Components
  7237.  
  7238. EFT-1: Evidence of Conformance Testing
  7239.  
  7240. The developer shall provide evidence of the functional testing that
  7241. includes the test plan, the test procedures, and the results of the
  7242. functional testing.
  7243.  
  7244. EFT-2: Evidence of Test Configuration Control
  7245.  
  7246. The developer shall provide evidence of the functional testing that
  7247. includes the test plan, the test procedures, and the results of the
  7248. functional testing. The test plans, procedures, and results shall be
  7249. maintained under the same configuration control as the TCB software.
  7250.  
  7251. EFT-3: Evidence of Specification-Driven Testing
  7252.  
  7253. The developer shall provide evidence of the functional testing that
  7254. includes the test plan, the test procedures, and the results of the
  7255. functional testing. The test, plans, procedures, and results shall be
  7256. maintained under the same configuration control as the TCB software.
  7257. The test plans shall identify the TCB specification used in the
  7258. derivation of the test conditions, data, and coverage analysis.
  7259.  
  7260. 5.3.4.4   Rated Penetration Analysis Evidence Components
  7261.  
  7262. EPA-1: Evidence of Penetration Testing
  7263.  
  7264. The developer shall provide evidence of penetration testing. The
  7265. evidence shall identify all product documentation on which the search
  7266. for flaws was based. The penetration evidence shall describe the
  7267. scenarios for exploiting each potential flaw in the system and the
  7268. penetration test conditions, data (e.g., test set-up, function call
  7269. parameters, and test outcomes), coverage, and conclusions derived from
  7270. each scenario.
  7271.  
  7272. EPA-2: Evidence of Flaw-Hypothesis Generation and Testing
  7273.  
  7274. The developer shall provide evidence of penetration testing. The
  7275. penetration evidence shall identify all product documentation and
  7276. development evidence on which the search for flaws was based. The
  7277. penetration evidence shall describe the scenarios for exploiting each
  7278. potential flaw in the system and the penetration test conditions, data
  7279. (e.g., test set-up, function call parameters, and test outcomes),
  7280. coverage, and conclusions derived from each scenario. The penetration
  7281. evidence shall summarize both refuted and confirmed flaws hypothesis.
  7282.  
  7283. EPA-3: Evidence of Penetration Analysis
  7284.  
  7285. The developer shall provide evidence of penetration testing. The
  7286. penetration evidence shall identify all product documentation and
  7287. development evidence on which the search for flaws was based. The
  7288. penetration evidence shall describe the scenarios for exploiting each
  7289. potential flaw in the system and the penetration test conditions, data
  7290. (e.g., test set-up, function call parameters, and test outcomes),
  7291. coverage, and conclusions derived from each scenario. The penetration
  7292. evidence shall summarize both refuted and confirmed flaws hypothesis
  7293. and identify TCB elements where the TCB implementation of the
  7294. penetration-resistance conditions is flawed.
  7295.  
  7296. EPA-4: Evidence of Formal Penetration Analysis
  7297.  
  7298. The developer shall provide evidence of penetration testing. The
  7299. penetration evidence shall identify all product documentation and
  7300. development evidence on which the search for flaws was based. The
  7301. penetration evidence shall describe the scenarios for exploiting each
  7302. potential flaw in the system and the penetration test conditions, data
  7303. (e.g., test set-up, function call parameters, and test outcomes),
  7304. coverage, and conclusions derived from each scenario. The penetration
  7305. evidence shall summarize both refuted and confirmed flaws hypothesis
  7306. and identify TCB elements where the TCB implementation of the
  7307. penetration-resistance conditions is flawed. The penetration evidence
  7308. shall include the results of mechanically validating the
  7309. implementation of the penetration resistance conditions specified for
  7310. the TCB.
  7311.  
  7312. 5.3.4.5   Rated Covert Channel Analysis Evidence Components
  7313.  
  7314. ECC-1: Evidence of Covert Storage Channel Analysis and Han- dling
  7315.  
  7316. The developer's documentation shall present the results of the
  7317. covert-storage-channel analysis and the trade-offs involved in
  7318. restricting these channels. All auditable events that may be used in
  7319. the exploitation of known covert storage channels shall be identified.
  7320. The developer shall provide the bandwidths of known
  7321. covert-storage-channels whose use is not detectable by the auditing
  7322. mechanism. The documentation of each identified storage channel shall
  7323. consist of the variable that can be viewed/altered by the channel and
  7324. the TCB interface functions that can alter or view that variable. The
  7325. measurements of each TCB function call used by covert-storage channels
  7326. must be documented and the bandwidth computation shall be included for
  7327. each channel. The measurement environment should be documented as
  7328. specified.  Test documentation shall include results of testing the
  7329. effectiveness of the methods used to reduce covert-storage-channel
  7330. bandwidths.
  7331.  
  7332. ECC-2: Evidence of Covert Channel Analysis and Handling
  7333.  
  7334. The developer's documentation shall present the results of the covert
  7335. channel analysis and the trade-offs involved in restricting these
  7336. channels.  All auditable events that may be used in the exploitation
  7337. of known covert channels shall be identified. The developer shall
  7338. provide the bandwidths of known covert channels whose use is not
  7339. detectable by the auditing mechanism. The documentation of each
  7340. identified covert channel shall consist of the variables, timing
  7341. sources, and the TCB interface functions that can be used to transmit
  7342. information. The measurements of each TCB function call used by covert
  7343. channels must be documented and the bandwidth computation shall be
  7344. included for each channel. The measurement environment should be
  7345. documented as specified.  Test documentation shall include results of
  7346. testing the effectiveness of the methods used to reduce covert-channel
  7347. bandwidths.
  7348.  
  7349. 5.3.4.6   Rated Product Support Evidence Components
  7350.  
  7351. EPS-1: Evidence of Basic Product Support
  7352.  
  7353. The developer shall provide evidence that describes the policies,
  7354. procedures, and plans established by the developer to satisfy the
  7355. Operational Support and Development Environment requirements of the
  7356. protection profile.
  7357.  
  7358. EPS-2: Evidence of Defined Product Support
  7359.  
  7360. The developer shall provide documentation that defines the policies,
  7361. procedures, plans, and tools established by the developer to satisfy
  7362. the Operational Support and Development Environment requirements of
  7363. the protection profile.
  7364.  
  7365. EPS-3: Evidence of Measured Product Support
  7366.  
  7367. The developer shall provide documentation that defines, explains, and
  7368. justifies the policies, procedures, plans, and tools established by
  7369. the developer to satisfy the Operational Support and Development
  7370. Environment requirements of the protection profile. The documentation
  7371. shall also explain how the developer periodically evaluates compliance
  7372. with the established procedures, policies, and plans.
  7373.  
  7374. 5.4       Bibliographic Notes
  7375.  
  7376. TBD.  
  7377.  
  7378. Chapter 6.
  7379.  
  7380.  EVALUATION ASSURANCE REQUIREMENTS
  7381.  
  7382. Editor's Note: This chapter represents an initial attempt to
  7383. consolidate many different ideas regard- ing evaluations and
  7384. articulate a simple structure for levying requirements on the
  7385. evaluation process.  The material is presented to stimulate the debate
  7386. and analysis regarding what should be required of product evaluations.
  7387.  
  7388. 6.1       Overview
  7389.  
  7390. Product evaluation is the process of validating that an IT product,
  7391. and the context in which it is developed and supported, conforms to
  7392. the requirements of a protection profile. Since only the protection
  7393. functions and quality of the product mitigate against risk, the
  7394. consumer's understanding of residual risk in any system employing the
  7395. product is largely dependent upon a producer's claims and/or upon
  7396. product evaluation information. Quality, in this context, is focused
  7397. on appropriateness, correctness, and simplicity of design with respect
  7398. to functional requirements, and correctness, effectiveness, and
  7399. efficiency of implementation with respect to design. When this
  7400. information is provided by a source independent of the product's
  7401. producer, the consumer generally has a greater degree of confidence
  7402. regarding the degree of conformance claimed by the producer.
  7403.  
  7404.  This chapter addresses the protection profile section for evaluation
  7405. assurance which contains requirements derived from the generic
  7406. components presented later in this chapter. These generic requirements
  7407. may be tailored with respect to the profile requirements for
  7408. protection functions and development assurance. Each protection
  7409. profile can be separately tailored for evaluation. Thus, all IT
  7410. products produced to conform to a particular protection profile will
  7411. be commonly evaluated at a level of assurance commensurate with the
  7412. profile's requirements for protection functions and development
  7413. assurance. This evaluation assurance level is agreed upon during
  7414. profile registration by the participants to the registration process
  7415. (e.g., producers, profile developers, evaluation authorities).
  7416.  
  7417. The evaluation assurance requirements contained in a protection
  7418. profile specify the minimum requirements that must be satisfied during
  7419. an evaluation process. This document adopts the philosophy that if a
  7420. protection function or development assurance requirement is placed on
  7421. a producer, then the satisfaction of such a requirement must be
  7422. evaluated.  Incremental evaluation assurance is accomplished by
  7423. changing the scope and intensity of examination to make the evaluated
  7424. aspects of the product's TCB, its internals, its interfaces, and its
  7425. production processes increasingly visible.
  7426.  
  7427. Evaluation assurance requirements do not by themselves define a
  7428. particular approach to product evaluation. There are conceivably many
  7429. different approaches to product evaluation to provide varying levels
  7430. of assurance. Any approach is defined by both evaluation methods and
  7431. the business process that incorporates those methods. Since the
  7432. business process is one that should remain flexible, the requirements
  7433. specified in this document are not intended to completely define a
  7434. specific process. Rather, they articulate requirements on methods that
  7435. can be used with a variety of business processes.The specific process
  7436. is largely the result of business decisions made by an evaluation
  7437. authority, often in conjunction with the producer and/or consumer,
  7438. regarding the most appropriate and cost-effective manner to accomplish
  7439. the evaluation assurance goals within the available resources.
  7440.  
  7441. This chapter is divided into four sections. The remainder of this
  7442. section groups the evaluation assurance components of a TCB into three
  7443. classes and describes the types of components in each class. The
  7444. second section presents a description of each type of evaluation
  7445. assurance component in terms of the functional and development
  7446. assurance requirements these components are intended to verify. The
  7447. third section presents the rated evaluation assurance components. The
  7448. last section includes a bibliography of useful literature references.
  7449.  
  7450. Classes of Evaluation Assurance: The product evaluation components
  7451. address three classes of evaluation methods (i.e., testing, review,
  7452. and analysis) and establish generic evaluation requirements based on
  7453. those methods. Test analysis and independent testing were grouped due
  7454. to the similarity of their requirements. The product evaluation
  7455. components are depicted in Figure 6.
  7456.  
  7457. Testing. This class of components defines two evaluation assurance
  7458. components: (1) test analysis components, and (2) independent testing
  7459. components. These two components determine whether the product's TCB
  7460. meets the functional protection requirements as defined in the
  7461. functional requirements section of the protection profile. These
  7462. components also assess whether activities required for TCB property
  7463. definition and TCB testing & analysis (both found in the development
  7464. process section of development assurance component section of the
  7465. protection profile) verification have been accomplished. These
  7466. components further assess whether these activities have been
  7467. documented in accordance with the development evidence requirements of
  7468. the development assurance section of the profile.
  7469.  
  7470. Review. This class of components defines two evaluation assurance
  7471. components: (1) development environment components, and (2)
  7472. operational support components. These two components validate
  7473. compliance with the operational support and development support
  7474. aspects of the development assurance requirements section of the
  7475. protection profile.
  7476.  
  7477. Analysis. This class of components defines two evaluation assurance
  7478. components: (1) design analysis components and (2) implementation
  7479. analysis components. These two components validate compliance with the
  7480. TCB design and TCB implementation support aspects of the development
  7481. assurance requirements section of the protection profile.
  7482.  
  7483. 6.2       Evaluation Assurance Components
  7484.  
  7485. Editor's Note: The components included in this sec- tion are provided
  7486. to serve as examples and are, in some cases, incomplete. Comments
  7487. regarding their structure and content are desired from all review-
  7488. ers. An effort was made to concentrate only on eval- uation
  7489. requirements and to exclude any process- oriented areas (though some
  7490. process-oriented impli- cations may remain). The requirement for
  7491. specifying these components is to make them generic (i.e., suitable
  7492. for a variety of evaluation processes) and to be able to place them in
  7493. context with the other profile requirements (i.e., evaluation
  7494. requirements should be commensurate with the functional require- ments
  7495. and development assurance requirements).
  7496.  
  7497. 6.2.1     Testing
  7498.  
  7499. Evaluation testing requirements will apply in all protection profiles.
  7500. Testing of the product and its protection functions is a
  7501. responsibility of the producer. The producer may also have the product
  7502. beta-tested by independent sources.  Evaluation testing includes (1)
  7503. the analysis of the appropriateness, coverage, consistency and
  7504. completeness of the beta-test site's test suite and/or the producer's
  7505. test suite, the data resulting from conducting these tests, and (2)
  7506. the independent application and analysis of testing by the evaluation
  7507. team. The evaluation process will be required to assess the producer's
  7508. testing results and may be required to independently perform some
  7509. level of testing of the product.  An example of such an evaluation
  7510. testing requirement would be where the evaluation team must execute
  7511. the producer's functional tests and then re-execute them after any
  7512. discovered errors (either with the tests or the product) have been
  7513. corrected.
  7514.  
  7515. Evaluation testing may be as simple as a pass or fail conformance test
  7516. suite against which the products must be tested. For more
  7517. comprehensive functional testing, the evaluators may be required to
  7518. functionally test aspects of the product not covered by the producer's
  7519. testing. The product's TCB, with respect to its ability to resist
  7520. penetration, will also require a range of penetration analysis and
  7521. testing. Such testing begins with known generic flaws and proceeds to
  7522. hypotheses that are refuted or confirmed. Again, the evaluators may
  7523. analyze the product's tests and test results, rerun all or a selected
  7524. set of such tests, or develop additional tests not covered by other
  7525. testing. If covert channel handling methods are incorporated into a
  7526. product to limit bandwidth, the effectiveness of those methods in
  7527. reducing channel bandwidths must also be tested. In general, the more
  7528. robust and/or resilient the product's protection is expected to be,
  7529. the more significant the level of testing that should be performed.
  7530.  
  7531. 6.2.1.1   Test Analysis Components
  7532.  
  7533. Test analysis establishes the testing analysis requirements needed to
  7534. determine whether the product meets the functional protection
  7535. requirements as defined in the protection profile.  The producer will
  7536. always perform this functional testing.  Functional testing is based
  7537. on the operational product, the TCB's functional properties, the
  7538. product's operational support guidance, and other producer's
  7539. documentation as defined by the development evidence requirements.
  7540. Functional test analysis is based on the achieved test results as
  7541. compared to the expected results derived from the development
  7542. evidence. Penetration test analysis is based on known generic
  7543. penetration flaws and a set of flaw hypotheses established for the
  7544. specific product implementation. Covert channel bandwidth testing is
  7545. based on the bandwidth prior to the application of covert channel
  7546. handling method and the bandwidth that results after such application.
  7547.  
  7548. 6.2.1.2   Independent Testing Components
  7549.  
  7550. Independent testing establishes the testing requirements performed by
  7551. a testing agent not associated with the producer.  These requirements
  7552. determine whether the product's TCB meets the functional protection
  7553. requirements as defined in the protection profile. Testing is based on
  7554. the operational product, the TCB's functional properties, the
  7555. product's operational support guidance, and other producer's
  7556. documentation as defined by the development evidence requirements.
  7557.  
  7558. 6.2.2     Evaluation Review Requirements
  7559.  
  7560. This aspect of evaluation assurance addresses validating compliance
  7561. with the development assurance requirements.  Evaluation reviews
  7562. simply check for a process, discipline, or form of documentation by
  7563. examining evidence that validates presence or absence. Two aspects of
  7564. compliance are reviewed; (1) compliance with development environment
  7565. requirements and (2) compliance with operational support requirements.
  7566.  
  7567. 6.2.2.1   Development Environment Review
  7568.  
  7569. The development environment review establishes the level of review
  7570. required to determine whether the product meets the requirements as
  7571. defined in the protection profile's development assurance subsections
  7572. for development environment. This includes the components life-cycle
  7573. definition, configuration management, and trusted distribution. An
  7574. example of such review would be configuration management audits
  7575. performed by the evaluation team to ensure that a configuration
  7576. management plan is being properly applied. At a certain level, the
  7577. evaluation team must conduct a configuration audit of all the
  7578. software, firmware, and hardware required to be kept under
  7579. configuration control according to the (approved) configuration
  7580. management plan.  Similar requirements would apply to trusted
  7581. distribution and life cycle management.
  7582.  
  7583. 6.2.2.2   Operational Support Review
  7584.  
  7585. The operational support review establishes the level of review
  7586. required to determine whether the product meets the requirements as
  7587. defined in the protection profile's development assurance subsections
  7588. for operational support.  This includes the components for user and
  7589. administrative guidance, flaw discovery, tracking, and repair
  7590. procedures, and trusted generation.
  7591.  
  7592. 6.2.3     Evaluation Analysis Requirements
  7593.  
  7594. This aspect of evaluation assurance addresses validating compliance
  7595. with two aspects of the development assurance requirements. Analysis
  7596. requirements are established to determine whether the product meets
  7597. the development assurance requirements. The analysis is based on the
  7598. producer's documentation, as defined by the development evidence
  7599. requirements. The two aspects analyzed are: (1) compliance with TCB
  7600. design requirements and (2) compliance with TCB implementation support
  7601. requirements.
  7602.  
  7603. 6.2.3.1   Design Analysis
  7604.  
  7605. Design analysis requirements specify the objectives for evaluating a
  7606. product from a design perspective (i.e., without examination of the
  7607. product implementation). These requirements also address the adequacy
  7608. of required design documentation. A design analysis may range from a
  7609. relatively simple functional overview (e.g., a black-box perspective
  7610. of the TCB) to a detailed analysis of internal design details,
  7611. modularity, layering, etc. The level of evaluation analysis required
  7612. for producer-supplied documentation will be commensurate with the
  7613. product's design requirements as set forth in the protection profile's
  7614. development assurance section.
  7615.  
  7616. 6.2.3.2   Implementation Analysis
  7617.  
  7618. Implementation analysis requirements address areas such as code
  7619. analysis. An example of such analysis is a requirement wherein the
  7620. evaluation team must examine at least 50% of the TCB's code to
  7621. ascertain whether the TCB meets the modularity requirements. The
  7622. selected code must be a representative set of the TCB and (as
  7623. appropriate) include samples of code from several different
  7624. programmers.
  7625.  
  7626. 6.3       Rated Evaluation Assurance Components
  7627.  
  7628. 6.3.1     Rated Test Analysis Components
  7629.  
  7630. This component establishes the testing analysis requirements to
  7631. determine whether the product meets the functional protection
  7632. requirements as defined in the protection profile.  This component is
  7633. required for all evaluations as it assumes that the producer will
  7634. always perform functional testing.
  7635.  
  7636. TA-1: Elementary Test Analysis
  7637.  
  7638. The evaluator shall assess whether the producer has performed the
  7639. activities defined in the development assurance requirements of the
  7640. protection profile for functional testing and whether the producer has
  7641. documented these activities as defined in the development evidence
  7642. requirements of the protection profile. The evaluator shall analyze
  7643. the results of the producer's testing activities for completeness of
  7644. coverage and consistency of results. The evaluator shall determine
  7645. whether the product's protection properties, as described in the
  7646. product documentation have been tested. The evaluator shall assess
  7647. testing results to determine whether the product's TCB works as
  7648. claimed.
  7649.  
  7650. TA-2: Enhanced Test Analysis
  7651.  
  7652. The evaluator shall assess whether the producer has performed the
  7653. activities defined in the development assurance requirements of the
  7654. protection profile for functional testing and penetration analysis,
  7655. and whether the producer has documented these activities as defined in
  7656. the development evidence requirements of the protection profile. The
  7657. evaluator shall analyze the results of the producer's testing
  7658. activities for completeness of coverage and consistency of results,
  7659. and general correctness (e.g., defect trend from regression testing).
  7660. This analysis shall examine the testability of requirements, the
  7661. adequacy of the tests to measure the required properties, the
  7662. deviation of the actual results obtained from the expected results,
  7663. and a general interpretation of what the testing results mean.  The
  7664. evaluator shall determine whether the product's protection properties,
  7665. as described in the product documentation, and all relevant known
  7666. penetration flaws have been tested. The evaluator shall assess testing
  7667. results to determine whether the product's TCB works as claimed, and
  7668. whether there are any remaining obvious ways (i.e., ways that are
  7669. known, or that are readily apparent or easily discovered in product
  7670. documentation) for an unauthorized user to bypass the policy
  7671. implemented by the TCB or otherwise defeat the product's TCB.
  7672.  
  7673. TA-3: Extended Test Analysis
  7674.  
  7675. The evaluator shall assess whether the producer has performed the
  7676. activities defined in the development assurance requirements of the
  7677. protection profile for functional testing and penetration analysis,
  7678. and whether the producer has documented these activities as defined in
  7679. the development evidence requirements of the protection profile. The
  7680. evaluator shall analyze the results of the producer's testing
  7681. activities for completeness of coverage and consistency of results,
  7682. and general correctness (e.g., defect trend from regression testing).
  7683. This analysis shall examine the testability of requirements, the
  7684. adequacy of the tests to measure the required properties, the
  7685. deviation of the actual results obtained from the expected results,
  7686. and a general interpretation of what the testing results mean.  The
  7687. evaluator shall determine whether the product's protection properties,
  7688. as defined at the TCB interface (i.e., by the DIS), and all relevant
  7689. known penetration flaws have been tested. The evaluator shall
  7690. independently develop, test, and document additional flaw hypotheses.
  7691. The evaluator shall assess testing results to determine whether the
  7692. product's TCB works as claimed, that the TCB's implementation is
  7693. consistent with the DIS, and whether there are any obvious ways (i.e.,
  7694. ways that are known, or that are readily apparent or easily discovered
  7695. in product documentation) for an unauthorized user to bypass the
  7696. policy implemented by theTCB or otherwise defeat the product's TCB,
  7697. and whether all discovered TCB flaws have been corrected and no new
  7698. TCB flaws introduced. The evaluator shall determine whether the
  7699. product is relatively resistant to penetrations.
  7700.  
  7701. TA-4: Comprehensive Test Analysis
  7702.  
  7703. The evaluator shall assess whether the producer has performed the
  7704. activities defined in the development assurance requirements of the
  7705. protection profile for functional testing and penetration analysis,
  7706. and whether the producer has documented these activities as defined in
  7707. the development evidence requirements of the protection profile. The
  7708. evaluator shall analyze the results of the producer's testing
  7709. activities for completeness of coverage and consistency of results,
  7710. and general correctness (e.g., defect trend from regression testing).
  7711. This analysis shall examine the testability of requirements, the
  7712. adequacy of the tests to measure the required properties, the
  7713. deviation of the actual results obtained from the expected results.
  7714. The analysis shall extend to trace all defects identified, corrected,
  7715. and retested. The analysis shall include an assessment of test
  7716. coverage and completeness, and defect frequency. The results of
  7717. testing shall be interpreted in terms that express product performance
  7718. and protection adequacy. The evaluator shall determine whether the
  7719. product's protection properties, as defined for all
  7720. protection-relevant modules of the TCB, and all relevant known
  7721. penetration flaws have been tested.  The evaluator shall independently
  7722. develop, test, and document additional flaw hypotheses. The evaluator
  7723. shall assess testing results to determine whether the product's TCB
  7724. works as claimed, that the TCB's implementation is consistent with the
  7725. DIS, and whether there are any obvious ways (i.e., ways that are
  7726. known, or that are readily apparent or easily discovered in product
  7727. documentation) for an unauthorized user to bypass the policy
  7728. implemented by theTCB or otherwise defeat the product's TCB, and
  7729. whether all discovered TCB flaws have been corrected and no new TCB
  7730. flaws introduced. No design flaws and no more than a few correctable
  7731. implementation flaws may be found during testing and there shall be
  7732. reasonable confidence that few remain.  If covert channel handling
  7733. methods have been implemented, the testing results shall show that the
  7734. methods used to reduce covert channel bandwidths have been effective
  7735. for all evaluated configurations. The evaluator shall determine
  7736. whether the product is relatively resistant to penetrations.
  7737.  
  7738. TA-5: Formal Test Analysis
  7739.  
  7740. The evaluator shall assess whether the producer has performed the
  7741. activities defined in the development assurance requirements of the
  7742. protection profile for functional testing and penetration analysis,
  7743. and whether the producer has documented these activities as defined in
  7744. the development evidence requirements of the protection profile. The
  7745. evaluator shall analyze the results of the producer's testing
  7746. activities for completeness of coverage and consistency of results,
  7747. and general correctness (e.g., defect trend from regression testing).
  7748. This analysis shall examine the testability of requirements, use of
  7749. the FIS for test derivation, the adequacy of the tests to measure the
  7750. required properties, the deviation of the actual results obtained from
  7751. the expected results. The analysis shall extend to trace all defects
  7752. identified, corrected, and retested. The analysis shall include an
  7753. assessment of test coverage and completeness, and defect frequency.
  7754. The results of testing shall be interpreted in terms that express
  7755. product performance and protection adequacy. The evaluator shall
  7756. determine whether the product's protection properties, as defined for
  7757. the entire TCB, and all relevant known penetration flaws have been
  7758. tested.  The evaluator shall independently develop, test, and document
  7759. additional flaw hypotheses. The evaluator shall assess testing results
  7760. to determine whether the product's TCB works as claimed, that the
  7761. TCB's implementation is consistent with the FIS, and whether there are
  7762. any obvious ways (i.e., ways that are known, or that are readily
  7763. apparent or easily discovered in product documentation) for an
  7764. unauthorized user to bypass the policy implemented by theTCB or
  7765. otherwise defeat the product's TCB, and whether all discovered TCB
  7766. flaws have been corrected and no new TCB flaws introduced. No design
  7767. flaws and no more than a few correctable implementation flaws may be
  7768. found during testing and there shall be reasonable confidence that few
  7769. remain.  If covert channel handling methods have been implemented, the
  7770. testing results shall show that the methods used to reduce covert
  7771. channel bandwidths have been effective for all evaluated
  7772. configurations. The evaluator shall determine whether the product is
  7773. completely resistant to penetrations.
  7774.  
  7775. 6.3.2     Rated Independent Testing Components
  7776.  
  7777. This component establishes the independent testing requirements to
  7778. determine whether the product's TCB meets the functional protection
  7779. requirements as defined in the protection profile.
  7780.  
  7781. IT-1: Elementary Independent Testing
  7782.  
  7783. A tester, independent of the producer or evaluator, shall perform
  7784. functional and elementary penetration testing. This testing shall be
  7785. based on the product's user and administrative documentation, and on
  7786. relevant known penetration flaws. Satisfactory completion consists of
  7787. demonstrating that all user-visible security enforcing functions and
  7788. security-relevant functions work as described in the product's user
  7789. and administrative documentation and that no discrepancies exist
  7790. between the documentation and the product. Test results of the
  7791. producer shall be confirmed by the results of independent testing.
  7792. The evaluator may selectively reconfirm any test result.
  7793.  
  7794. If the independent testing is performed at beta- test sites, the
  7795. producer shall supply the beta- test plan and the test results. The
  7796. evaluator shall review the scope and depth of beta testing with
  7797. respect to the required protection functionality, and shall verify
  7798. independence of both the test sites and the producer's and beta- test
  7799. user's test results. The evaluator shall confirm that the test
  7800. environment of the beta-test site(s) adequately represents the
  7801. environment specified in the protection profile.
  7802.  
  7803. IT-2: Enhanced Independent Testing
  7804.  
  7805. The evaluator shall independently perform functional and elementary
  7806. penetration testing to confirm test results. This testing may be
  7807. selective and shall be based on (1) the results of other independent
  7808. and/or producer testing, (2) the TCB's DIS, (3) other product design
  7809. and implementation documentation, (4) the product's user and
  7810. administrative documentation, and (5) relevant known penetration
  7811. flaws. Satisfactory completion consists of demonstrating that all TCB
  7812. functions work as described in the product's relevant documentation,
  7813. that test results are consistent, and that no discrepancies exist
  7814. between the documentation and the product.
  7815.  
  7816. If the independent testing is performed at beta- test sites, the
  7817. producer shall supply the beta- test plan and the test results. The
  7818. evaluator shall review the scope and depth of beta testing with
  7819. respect to the required protection functionality, and shall verify
  7820. independence of both the test sites and the producer's and beta- test
  7821. user's test results. The evaluator shall also confirm that the test
  7822. environment of the beta-test site(s) adequately represents the
  7823. environment specified in the protection profile.
  7824.  
  7825. IT-3: Comprehensive Independent Testing.
  7826.  
  7827. The evaluator shall independently perform functional and elementary
  7828. penetration testing to confirm test results. This testing may be
  7829. selective and shall be based on (1) the results of other independent
  7830. and/or producer testing, (2) the TCB's DIS, (3) other product design
  7831. and implementation documentation, (4) the product's user and
  7832. administrative documentation, (5) relevant known penetration flaws,
  7833. and (6) evaluator-developed TCB penetration flaw hypotheses and
  7834. corresponding tests that attempt to exploit the hypothesized flaws.
  7835. Satisfactory completion consists of demonstrating that all TCB
  7836. functions work as described in the product's relevant documentation,
  7837. that test results are consistent, and that no discrepancies exist
  7838. between the documentation and the product.  Satisfactory penetration
  7839. test completion shall be determined by the subjective judgement (which
  7840. may be supported algorithmically) of the evaluator.  Test duration
  7841. agreements may further constrain this judgement. Categorization of an
  7842. actual penetration flaw shall be based on the reproducibility of that
  7843. flaw. Flaws that are discovered, but are not reproducible shall remain
  7844. categorized as potential penetration flaws. All actual penetration
  7845. flaws must be corrected and retested.
  7846.  
  7847. The evaluator shall provide a penetration test plan document that
  7848. describes the additional evaluator-developed flaw hypotheses and
  7849. associated tests. The evaluator shall execute these tests and shall
  7850. report any discovered flaws to the producer as part of the testing
  7851. results. At the conclusion of penetration testing, the evaluator shall
  7852. provide copies of this penetration test plan and its test results to
  7853. the producer. The producer shall ensure that this test plan and its
  7854. test results are incorporated into the rest of the product's testing
  7855. documentation and that such documentation is available for further
  7856. analysis throughout the life of the product.
  7857.  
  7858. If the product has incorporated covert channel handling, the evaluator
  7859. shall test for covert channel bandwidth reductions to determine the
  7860. effectiveness of handling method(s) in reducing the bandwidths of
  7861. identified covert channels for all evaluated configurations.
  7862.  
  7863. If the independent testing is performed at beta- test sites, the
  7864. producer shall supply the beta- test plan and the test results. The
  7865. evaluator shall review the scope and depth of beta testing with
  7866. respect to the required protection functionality, and shall verify
  7867. independence of both the test sites and the producer's and beta- test
  7868. user's test results. The evaluator shall also confirm that the test
  7869. environment of the beta-test site(s) adequately represents the
  7870. environment specified in the protection profile.
  7871.  
  7872.  IT-4: Formal Independent Testing.
  7873.  
  7874. The evaluator shall independently perform functional and elementary
  7875. penetration testing to confirm test results. This testing shall be
  7876. based on (1) the results of producer or other independent testing, (2)
  7877. the TCB's FIS, (3) the product's design and implementation
  7878. documentation, (4) the product's user and administrative
  7879. documentation, (5) relevant known penetration flaws, and (6)
  7880. evaluator-developed TCB penetration flaw hypotheses and corresponding
  7881. tests that attempt to exploit the hypothesized flaws.  Satisfactory
  7882. completion consists of demonstrating that all TCB functions work as
  7883. described in the product's relevant documentation, that the TCB
  7884. functions are consistent with the FIS, that test results are
  7885. consistent, and that no discrepancies exist between the documentation
  7886. and the product.  Satisfactory penetration test completion shall be
  7887. determined by the subjective judgement of the evaluator (which may be
  7888. supported algorithmically). Test duration agreements may further
  7889. constrain this judgement. Categorization of an actual penetration flaw
  7890. shall be based on the reproducibility of that flaw. Flaws that are
  7891. discovered, but are not reproducible shall remain categorized as
  7892. potential penetration flaws. All actual penetration flaws must be
  7893. corrected and retested.
  7894.  
  7895. The evaluator shall provide a penetration test plan document that
  7896. describes the additional evaluator-developed flaw hypotheses and
  7897. associated tests. The evaluator shall execute these tests and shall
  7898. report any discovered flaws to the producer as part of the testing
  7899. results. At the conclusion of penetration testing, the evaluator shall
  7900. provide copies of this penetration test plan and its test results to
  7901. the producer. The producer shall ensure that this test plan and its
  7902. test results are incorporated into the rest of the product's testing
  7903. documentation and that such documentation is available for further
  7904. analysis throughout the life of the product.
  7905.  
  7906. If the product has incorporated covert channel handling, the evaluator
  7907. shall test for covert channel bandwidth reductions to determine the
  7908. effectiveness of handling method(s) in reducing the bandwidths of
  7909. identified covert channels.
  7910.  
  7911. If the independent testing is performed at beta- test sites, the
  7912. producer shall supply the beta- test plan and the test results. The
  7913. evaluator shall review the scope and depth of beta testing with
  7914. respect to the required protection functionality, and shall verify
  7915. independence of both the test sites and the producer's and beta- test
  7916. user's test results. The evaluator shall also confirm that the test
  7917. environment of the beta-test site(s) adequately represents the
  7918. environment specified in the protection profile.
  7919.  
  7920. 6.3.3     Rated Development Environment Review Components
  7921.  
  7922. This component establishes the level of review required to determine
  7923. whether the product meets the requirements as defined in the
  7924. protection profile's development assurance subsections for development
  7925. environment including life-cycle definition and configuration
  7926. management, and trusted distribution.
  7927.  
  7928. DER-1: Elementary Development Environment Review
  7929.  
  7930. The evaluator shall review the producer's development and maintenance
  7931. process description documentation to determine the degree of
  7932. discipline enforced upon and within the process, and to determine the
  7933. protection characteristics associated with the product's development
  7934. and maintenance. The results of this review shall establish, for the
  7935. evaluator, the producer's development environment, its policies, and
  7936. the degree of enforcement maintained during development execution.
  7937.  
  7938. DER-2: Enhanced Development Environment Review
  7939.  
  7940. The evaluator shall review the producer's development and maintenance
  7941. process description documentation and shall conduct a random audit of
  7942. the producer's processes using the evidence generated by each process
  7943. to determine the degree of discipline enforced upon and within the
  7944. process, and to determine the protection characteristics associated
  7945. with the product's development and maintenance. The results of this
  7946. review shall establish, for the evaluator, the producer's development
  7947. environment, its policies, and the degree of enforcement maintained
  7948. during development execution. The results of this review shall also
  7949. confirm the producer's general conformance with relevant development
  7950. environment requirements.
  7951.  
  7952. DER-3: Comprehensive Development Environment Review
  7953.  
  7954. The evaluator shall review the producer's development and maintenance
  7955. process description documentation and shall conduct a complete audit
  7956. of the producer's processes using the evidence generated by each
  7957. process to determine the degree of discipline enforced upon and within
  7958. the process, and to determine the protection characteristics
  7959. associated with the product's development and maintenance. The results
  7960. of this review shall establish, for the evaluator, the producer's
  7961. development environment, its policies, and the degree of enforcement
  7962. maintained during development execution. The review shall also confirm
  7963. the producer's complete conformance with all relevant development
  7964. environment requirements.
  7965.  
  7966. 6.3.4     Rated Operational Support Review Components
  7967.  
  7968. This component establishes the level of review required to determine
  7969. whether the product meets the requirements as defined in the
  7970. protection profile's development assurance subsections for operational
  7971. support including user and administrative guidance, flaw discovery,
  7972. tracking, and repair procedures, and trusted generation.
  7973.  
  7974. OSR-1 Elementary Operational Support Review
  7975.  
  7976. The evaluator shall review all documentation focused on the activities
  7977. of product use (e.g., Users Manuals) and product administration
  7978. including installation, operation, maintenance, and trusted recovery
  7979. (e.g., Trusted Facility Management Manuals). This review shall assess
  7980. the clarity of presentation, difficulty in locating topics of
  7981. interest, ease of understanding, and completeness of coverage. The
  7982. need for separate manuals dedicated to protection-relevant aspects of
  7983. the product should be assessed for effectiveness.
  7984.  
  7985. This component should also address flaw remediation and trusted
  7986. generation. [[TBD.]]
  7987.  
  7988. OSR-2 Enhanced Operational Support Review
  7989.  
  7990. The evaluator shall review all documentation focused on the activities
  7991. of product use (e.g., Users Manuals) and product administration
  7992. including installation, operation, maintenance, and trusted recovery
  7993. (e.g., Trusted Facility Management Manuals). This review shall assess
  7994. the clarity of presentation, difficulty in locating topics of
  7995. interest, ease of understanding, and completeness of coverage. The
  7996. need for separate manuals dedicated to protection-relevant aspects of
  7997. the product should be assessed for effectiveness. The evaluator shall
  7998. randomly select a sample of the documented protection-relevant
  7999. features and procedures and execute them to determine if their
  8000. descriptions are accurate and correct.
  8001.  
  8002. This component should also address flaw remediation and trusted
  8003. generation. [[TBD.]]
  8004.  
  8005. OSR-3 Comprehensive Operational Support Review
  8006.  
  8007. The evaluator shall review all documentation focused on the activities
  8008. of product use (e.g., Users Manuals) and product administration
  8009. including installation, operation, maintenance, and trusted recovery
  8010. (e.g., Trusted Facility Management manuals. This review shall assess
  8011. the clarity of presentation, difficulty in locating topics of
  8012. interest, ease of understanding, and completeness of coverage. The
  8013. need for separate manuals dedicated to protection-relevant aspects of
  8014. the product should be assessed for effectiveness. The evaluator shall
  8015. execute all documented protection-relevant features and procedures to
  8016. determine if their descriptions are accurate and correct.
  8017.  
  8018. This component should also address flaw remediation and trusted
  8019. generation. [[To be written.]]
  8020.  
  8021. 6.3.5     Rated Design Analysis Components
  8022.  
  8023. This component establishes the analysis requirements to determine
  8024. whether the product meets the design requirements as defined in the
  8025. development process assurance section of the protection profile,
  8026. including the TCB property definition and TCB design requirements. The
  8027. analysis is based on the producer's documentation, as defined by the
  8028. development evidence requirements.
  8029.  
  8030. DA-1: Elementary Design Analysis
  8031.  
  8032. The evaluator shall determine whether the producer has performed the
  8033. activities defined in the development process assurance requirements
  8034. of the protection profile for TCB property definition and TCB design.
  8035. The evaluator shall determine whether the producer has documented
  8036. these activities as defined in the development evidence requirements
  8037. of the protection profile. The evaluator shall analyze the results of
  8038. the producer's activities for completeness and consistency of design
  8039. with respect to requirements.
  8040.  
  8041. DA-2: Enhanced Design Analysis
  8042.  
  8043. The evaluator shall determine whether the producer has performed the
  8044. activities defined in the development process assurance requirements
  8045. of the protection profile for TCB property definition and TCB design.
  8046. The evaluator shall determine whether the producer has documented
  8047. these activities as defined in the development evidence requirements
  8048. of the protection profile. The evaluator shall analyze the results of
  8049. the producer's activities for completeness, consistency, and
  8050. correctness of design with respect to requirements.
  8051.  
  8052. DA-3: Comprehensive Design Analysis
  8053.  
  8054. The evaluator shall determine whether the producer has performed the
  8055. activities defined in the development process assurance requirements
  8056. of the protection profile for TCB property definition and TCB design.
  8057. The evaluator shall determine whether the producer has documented
  8058. these activities as defined in the development evidence requirements
  8059. of the protection profile. The evaluator shall analyze, with the help
  8060. of formal methods and appropriate automated tools, the results of the
  8061. producer's activities for completeness, consistency, and correctness
  8062. of design with respect to requirements (e.g., validating the formal
  8063. verification of the design).
  8064.  
  8065. 6.3.6     Rated Implementation Analysis Components
  8066.  
  8067. This component establishes the implementation analysis required to
  8068. determine whether the product meets the requirements as defined in the
  8069. TCB implementation requirements in a protection profile's development
  8070. assurance section. The analysis is based on the implemented code and
  8071. on the producer's documentation, as defined by the development
  8072. evidence requirements.
  8073.  
  8074. CI-1: Elementary Implementation Analysis
  8075.  
  8076. The evaluator shall conduct a code inspection on a small sample of
  8077. randomly selected product code.  The assessment shall focus on clarity
  8078. of the coding style, adherence to coding standards, coding
  8079. documentation, and on possible software defects that may be present
  8080. with respect to the product's informal design. The inspection shall be
  8081. performed to obtain only a sample of possible software defects, not to
  8082. capture all such possible defects. The evaluator shall report all
  8083. discovered defects to the producer; the assessment shall report the
  8084. number of defects found per line of code inspected from the random
  8085. sample size. Use of producer-provided code inspection results can
  8086. supplement this sample inspection. All trapdoors built into the
  8087. product for maintenance purposes shall be identified by the producer
  8088. and shown to be protected by the product.
  8089.  
  8090. CI-2: Enhanced Implementation Analysis
  8091.  
  8092. The evaluator shall conduct a code inspection on a moderate sample of
  8093. randomly selected product code.  The assessment shall focus on clarity
  8094. of the coding style, adherence to coding standards, coding
  8095. documentation, and on possible software defects that may be present
  8096. with respect to the product's informal design and model. The
  8097. inspection shall be performed to obtain only a sample of possible
  8098. software defects, not to capture all such possible defects. The
  8099. evaluator shall report all discovered defects to the producer; the
  8100. assessment shall report the number of defects found per line of code
  8101. inspected from the random sample size. Use of producer-provided code
  8102. inspection results can supplement this sample inspection. All
  8103. trapdoors built into the product for maintenance purposes shall be
  8104. identified by the producer and shown to be protected by the product.
  8105.  
  8106. CI-3: Comprehensive Implementation Analysis
  8107.  
  8108. The evaluator shall conduct an inspection on a moderate sample of
  8109. randomly selected product code.  The assessment shall focus on the
  8110. clarity of the coding style, adherence to coding standards, coding
  8111. documentation, and on possible software defects that may be present
  8112. with respect to the product's formal design and model. The inspection
  8113. shall be performed to obtain only a sample of possible software
  8114. defects, not to capture all such possible defects. The evaluator shall
  8115. report all discovered defects to the producer; the assessment shall
  8116. report the number of defects found per line of code inspected from the
  8117. random sample size. Use of producer-provided code inspection results
  8118. can supplement this inspection. All trapdoors built into the product
  8119. for maintenance purposes shall be identified by the producer and shown
  8120. to be protected by the product. The producer shall correct all
  8121. discovered defects and the corrected software reinspected. A rigorous
  8122. analysis of the implementation's correspondence to the verified design
  8123. shall be performed by the evaluator to validate correctness. Such
  8124. analysis may be supported by appropriate automated tools.
  8125.  
  8126. 6.4       Bibliographic Notes
  8127.  
  8128. TBD.  
  8129.  
  8130. Chapter 7.
  8131.  
  8132. CONSTRUCTION OF PROTECTION PROFILES
  8133.  
  8134. 7.1       Overview
  8135.  
  8136. The functional and assurance components and their ratings defined in
  8137. previous chapters provide the basic building blocks for the definition
  8138. of protection profiles. The definition of a protection profile
  8139. consists of assembling different functional and assurance components
  8140. into a consistent and coherent set that satisfies specific security
  8141. goals of the anticipated environments of product use. The assembled
  8142. components and their requirements are generally intended to counter
  8143. threats, eliminate vulnerabilities, support security standards, and
  8144. satisfy regulatory requirements defined in the anticipated
  8145. environments of use.
  8146.  
  8147. During profile construction, environment-specific requirements are
  8148. used to select and synthesize the functional and the assurance
  8149. components for IT product development (see Chapter 3). It should be
  8150. noted that not all environment- specific requirements are relevant to
  8151. the selection of the functional and assurance components. For example,
  8152. some environment-specific requirements may address only problems of
  8153. organization management and IT product use that have no direct impact
  8154. on IT product requirements. The environment- specific requirements
  8155. referred to in this section are those that help select IT product
  8156. component requirements for profile inclusion.
  8157.  
  8158. This chapter describes the concerns that arise, and the steps that
  8159. must be taken, in synthesizing profile functional and assurance
  8160. components. It also illustrates the selection of these components by
  8161. several examples. The chapter is divided into three sections. The
  8162. first section describes several steps for synthesizing profile
  8163. components. The second section addresses the notion of dependency
  8164. analysis for profile components and component requirements. The third
  8165. section contains a bibliography of useful literature references
  8166. related to dependency analysis.
  8167.  
  8168. 7.2       Synthesis of Profile Components
  8169.  
  8170. Different Levels of Abstract Requirements. The environment- specific
  8171. requirements are used in selecting the functional and assurance
  8172. components. These requirements can be stated at a level of abstraction
  8173. that is higher than, lower than, or similar to that of the functional
  8174. and assurance components.  This variance in levels of abstraction
  8175. exists because these requirements can be expressed in an unrestricted
  8176. form. The requirements may be more abstract because they may reflect
  8177. high-level security control objectives, organizational policies,
  8178. regulations and directives. For example, environment-specific
  8179. requirements may state that the computing facilities must reflect the
  8180. separation of roles defined within an organization, or must reflect a
  8181. document classification policy mandated by government directives.
  8182. Similarly, the requirements may state that the control of access to
  8183. documents processed within a computing facility must conform with a
  8184. particular document processing policy (e.g., ORGCON).
  8185.  
  8186. Environment-specific requirements may be less abstract than those used
  8187. in the functional and assurance components. Some may reflect the need
  8188. to support a specific security standard or guideline (e.g., password
  8189. guideline) while others may require a set of specific features and
  8190. assurances deemed necessary in the environments of IT product use. For
  8191. example, commercial security environments may require a specific set
  8192. of: password complexity rules, location- and time-based access control
  8193. rules, and security management rules. Other environments may mandate
  8194. the use of a specific subject and object labeling policy, may require
  8195. specific import or export policies for labeled objects, may mandate
  8196. the use of specific forms of acceptance testing and test coverage, or
  8197. may mandate a specific form of configuration management and trusted
  8198. distribution.
  8199.  
  8200. Environment-specific requirements may have the same level of
  8201. abstraction as that of the functional and assurance components because
  8202. they may be derived from requirements of existing product standards.
  8203. For example, some environment-specific requirements may be expressed
  8204. by the requirements of the Trusted Computer System Evaluation Criteria
  8205. (TCSEC) classes B2, B3, or A1, for high-assurance defense
  8206. environments.
  8207.  
  8208. Different Requirement Classifications. The environment- specific
  8209. requirements may be partitioned into components in a different manner
  8210. than that used in the partitioning of the product generic
  8211. requirements. Since the profile requirements ultimately drive the
  8212. profile component selection, the different component partitionings
  8213. must be resolved to ensure that the profile addresses all
  8214. environment-specific requirements. The partitioning of generic product
  8215. requirements into components and the rating of those components imply
  8216. that, when interpreted at the product- requirement level, the
  8217. environment-specific requirements must be expressed in terms of these
  8218. components and their levels.  For example, the environment-specific
  8219. requirement class of "reliability of service" may contain specific
  8220. requirements of limited service degradation, control of resource
  8221. consumption, automated crash recovery based on checkpoint restart, and
  8222. periodic back-up and restore operations. In terms of the product
  8223. component requirements, the "reliability of service" requirement will
  8224. be covered by the availability, trusted recovery, and security
  8225. management components.
  8226.  
  8227. The partitioning of environment-specific requirements into product
  8228. component requirements must take into account the rating of the
  8229. component requirements because certain specific requirements may, in
  8230. fact, be covered by individual requirements of multiple levels. For
  8231. example, environment- specific requirements of access control may
  8232. include all component level AC-2 (basic access control) and location-
  8233. dependent authorization, which is a requirement included in component
  8234. level AC-4 (fine-grain access control).  Consequently, if component
  8235. level AC-3 (extended access control) is selected, the
  8236. environment-specific requirement would not be satisfied by the
  8237. resulting profile, and if level AC-4 is selected, the resulting
  8238. profile becomes overspecified because the requirements of AC-4 are
  8239. unnecessarily included.  The resolution of this problem is discussed
  8240. in the next section.
  8241.  
  8242. The question of how the environment-specific requirements can be used
  8243. to construct functional and assurance requirements for inclusion in a
  8244. profile arises naturally, given the unconstrained level of abstraction
  8245. in the environment- requirement definition.  A key step in profile
  8246. synthesis is that of selecting the functional and assurance
  8247. components. The selection process is informal and, for this reason
  8248. must be carefully justified in constructing and accepting a profile.
  8249. When the level of the environment-specific requirements is close to
  8250. that of the component requirements, two selection steps, assignment
  8251. and refinement, are used.
  8252.  
  8253. 7.2.1     Assignment
  8254.  
  8255. The assignment of environment-specific requirements to generic
  8256. component requirements is performed when a component requirement
  8257. corresponds to an environment-specific requirement. The correspondence
  8258. is determined by analyzing the intent and motivation for both the
  8259. environment-specific requirement and the product component
  8260. requirement. A match of the motivation and intent for these
  8261. requirements triggers the selection of the component requirement.
  8262.  
  8263. An assignment of environment-specific requirements to a component
  8264. requirement also takes place when a component requirement is given a
  8265. specific meaning. That is, a generic requirement of a component, which
  8266. may require the definition of a rule, condition, or constant, becomes
  8267. specific.
  8268.  
  8269. Example 1: Assignment of specific constants
  8270.  
  8271. In the identification and authentication component of the Commercial
  8272. Security Protection Profile CS-2, the following italicized
  8273. requirements assign specific default constants to successive
  8274. unsuccessful login attempts and to the default of the required delay:
  8275.  
  8276. The TCB shall end the attempted login session if the user performs the
  8277. authentication procedure incorrectly for a number of successive times
  8278. (i.e., a threshold) specified by an authorized system administrator.
  8279. The default threshold shall be three times. When the threshold is
  8280. exceeded, the TCB shall send an alarm message to the system console
  8281. and/or to the administrator's terminal, log this event in the audit
  8282. trail, and delay the next login by an interval of time specified by
  8283. the authorized system administrator. The default time interval shall
  8284. be 60 seconds. The TCB shall pro- vide a protected mechanism to
  8285. disable the user identity or account when the threshold of succes-
  8286. sive, unsuccessful login attempts is violated more than a number of
  8287. times specified by the adminis- trator. By default, this mechanism
  8288. shall be dis- abled (as it may cause unauthorized denial of service).
  8289.  
  8290.  
  8291.  
  8292. Also, in the access control component of the Commercial Security
  8293. Protection Profile CS-2, the following italicized requirement
  8294. identifies a specific subject attribute (i.e., group identity) to
  8295. which access rights are assigned:
  8296.  
  8297. Object attributes shall include defined access rights (i.e., read,
  8298. write, execute) that can be assigned to subject attributes. The TCB
  8299. shall be able to assign object access rights to group identities.
  8300.  
  8301.  
  8302.  
  8303. Example 2: Assignment of specific authorization rules
  8304.  
  8305. In the access control component of the Commercial Security Protection
  8306. Profile CS-2, the following italicized requirement assigns specific
  8307. authorization rules for subject references to objects:
  8308.  
  8309. The TCB shall define and enforce authorization rules for the mediation
  8310. of subject references to objects. These rules shall be based on the
  8311. access control attributes of subjects and objects.
  8312.  
  8313. At a minimum, the authorization rules shall be defined as follows:
  8314.  
  8315. a.        The access rights associated with a user identifier shall take
  8316. precedence over the access rights associated with any groups of which
  8317. that user identifier is a member.
  8318.  
  8319. b.        When a user identifier can be an active member of multiple
  8320. groups simultaneously, or if the access rights associated with the
  8321. user identifier conflict with the access rights associated with any
  8322. group in which the user is a member, it shall be possible for a system
  8323. administrator to configure rules that combine the access rights to
  8324. make a final access control decision.
  8325.  
  8326. c.        The TCB shall provide a protected mechanism to specify default
  8327. access rights for user identifiers not otherwise specified either
  8328. explicitly by a user identifier or implicitly by group membership.
  8329.  
  8330.  
  8331.  
  8332. Example 3: Assignment of specific conditions
  8333.  
  8334. In the access control component of the Commercial Security Protection
  8335. Profile CS-2, the following italicized requirement assigns specific
  8336. conditions to the rule for assignment and modification of access
  8337. control attributes for subjects and objects.
  8338.  
  8339. The effect of these rules shall be that access rights to an object by
  8340. users not already possessing access permission is assigned only by
  8341. authorized users.
  8342.  
  8343. Only the current owner or system administrators can modify access
  8344. control attributes of objects.
  8345.  
  8346. There should be a distinct access right to modify the contents of an
  8347. object's access control list (e.g., an "ownership" or "control"
  8348. right).
  8349.  
  8350.  
  8351.  
  8352. The component requirements are assigned a null environment- specific
  8353. requirement whenever an environment-specific requirement is not
  8354. assigned for a component. A null assignment implies that the component
  8355. is not included in a profile (unless another component, which is
  8356. required by another environment-specific requirement, depends upon
  8357. it).
  8358.  
  8359. Example 4: Null assignment
  8360.  
  8361. In the Commercial Security Protection Profiles (CS-1, CS-2, CS-3),
  8362. several assurance components were not selected for inclusion. The
  8363. modular decomposition component, TCB structuring support, and TCB
  8364. design disciplines were not selected because this profile does not
  8365. require assurances about the internal TCB structure.
  8366.  
  8367. When an environment-specific requirement is assigned, it is possible
  8368. that the component requirements used include some features that are
  8369. not explicitly selected (i.e., an exact match is not possible). In
  8370. this case, a do not care is assigned to the features and/or assurances
  8371. not selected.
  8372.  
  8373. Example 5: "Do not care" assignment
  8374.  
  8375. In Example 2, the assignment of the specific authorization rules
  8376. refers only to the selection of subject attributes for access
  8377. authorization and does not include any specification of the object
  8378. subset to which the authorization applies. This implies that a "do not
  8379. care" is assigned to the generic requirement of identifying the
  8380. authorization scope in the access control component. Similarly, a "do
  8381. not care" assignment is implicitly made in Example 3. Although
  8382. specific conditions are assigned to the rule for modification of
  8383. access control attributes, a specific condition or rule was not
  8384. assigned for attribute modification during object import and/ or
  8385. export operations.
  8386.  
  8387. 7.2.2     Refinement
  8388.  
  8389. The refinement of a component requirement is necessary when the
  8390. environment-specific requirements are less abstract (i.e., more
  8391. specific) than the component requirements. As a consequence, one or
  8392. more environment-specific requirements are added to a single component
  8393. requirement. This represents a refinement of a component requirement.
  8394. Note that the refinement of a component requirement differs from the
  8395. assignment of environment-specific requirements to components. For
  8396. example, a refinement of a component requirement may not assign any
  8397. specific meaning to a requirement rule, condition, or constant.
  8398. Instead, the refinement provides an elaboration of a generic component
  8399. requirement in a specific environment.
  8400.  
  8401. Example 6: Refinement of the trusted path component
  8402.  
  8403. In the Commercial Security Protection Profile CS-2, the following
  8404. italicized requirement refines the Trusted Path component TP-1
  8405. requirement:
  8406.  
  8407. The TCB shall support a trusted communication path between itself and
  8408. the user for initial identification and authentication. Communications
  8409. via this path shall be initiated exclusively by a user.
  8410.  
  8411. The TCB shall provide a protected mechanism by which a data
  8412. entry/display device may force a direct connection between the port to
  8413. which it is connected and the authentication mechanism.
  8414.  
  8415. Example 7: Refinement of the authorization rules
  8416.  
  8417. In the Commercial Security Protection Profile CS-2, the following
  8418. italicized requirement refines the requirement for authorization rule
  8419. definition and enforcement:
  8420.  
  8421. The TCB shall define and enforce authorization rules for the mediation
  8422. of subject references to objects. These rules shall be based on the
  8423. access control attributes of subjects and objects.
  8424.  
  8425. For each object, the authorization rules of the TCB shall be based on
  8426. a protected mechanism to specify a list of user identifiers or groups
  8427. with their spe- cific access rights to that object (i.e., an access
  8428. control list).
  8429.  
  8430. The assignment and refinement rules become necessary whenever the
  8431. level of abstraction of the environment-specific requirements differs
  8432. from that of the generic product components. However, when the
  8433. partitioning or classification of environment specific requirements
  8434. differs from that of the functional and assurance components, two
  8435. additional selection steps, decomposition and level-selection, are
  8436. used.
  8437.  
  8438. 7.2.3     Decomposition
  8439.  
  8440. The decomposition of a specific requirement becomes necessary when
  8441. that requirement must be assigned to multiple components of the
  8442. generic product requirements during the interpretation process.
  8443. Examples of decomposition are provided by both the specific
  8444. requirements of the commercial domain illustrated in the NIST Minimum
  8445. Security Functionality Requirements (MSFR) release 1.1 and by the
  8446. specific requirements of labeled protection found in the TCSEC.
  8447.  
  8448. Example 8: MSFR requirement decomposition into generic components
  8449.  
  8450. 1. MSFR System Integrity Requirement -> Functional Components (AC, P,
  8451. AD, SC, SM)
  8452.  
  8453. Requirement Component (paragraph)
  8454.  
  8455. Separate process and address spaces P-1 (1) Verification of installed
  8456. software using SC-3
  8457.  checksums & digital signatures Restrict use of supervisory states P-1
  8458. (1) Audit use of operator consoles AD-2 (2) TCB software modification
  8459. restricted to SM-1 (4)
  8460.     administrative users System maintenance limited to SM-1 (4,5)
  8461.     administrative users Validate correct operation of hardware SC-1
  8462.     & firmware elements
  8463.  
  8464. 2. Data Integrity Requirement -> Functional Components (AC, SC, SM,
  8465. ESU)
  8466.  
  8467. Requirement Component (paragraph)
  8468.  
  8469. Record date & time object last modified AC-4 (3) Check file system and
  8470. storage medium SC-3
  8471.  integrity Display of system parameters and flags SM-1 (2,3)
  8472. Directory/path search order ESU-2 (1)
  8473.  
  8474. 3. Reliability of Service -> Function Components ((AR, AF), TR, SM)
  8475.  
  8476. Requirement Component (paragraph)
  8477.  
  8478. Degraded service operation AF (TDB) Controlled consumption of disk
  8479. space, AR-1
  8480.  CPU usage Recovery after system failure TR-1 Data backup & restore
  8481. SM-1 (4) Checkpoint restarts TR-4 (2)
  8482.  
  8483. Example 9: Decomposition of labeled component requirements into
  8484. generic components
  8485.  
  8486. 1. TCSEC Device Labeling Requirement (B2) -> Functional Components
  8487. (AC, SE)
  8488.  
  8489. Requirement Component
  8490.  
  8491. The TCB shall support the assignment of AC-2 (2), minimum and maximum
  8492. security levels to all attached physical devices.
  8493.  
  8494. These security levels shall be used by I&A-2 (2) the TCB to enforce
  8495. constraints imposed by the physical environments in which the devices
  8496. are located.
  8497.  
  8498. 7.2.4     Level-Selection
  8499.  
  8500. The rating of functional and assurance components requires that
  8501. specific component levels be selected when the environment-specific
  8502. requirements are interpreted at the product level. However, an
  8503. environment-specific requirement may exceed the requirements of a
  8504. single level and may include individual requirements of higher levels.
  8505. Whenever this happens, the selection of the component level follows a
  8506. "low water mark" rule. That is, the selected level is the highest
  8507. complete level required, but is augmented by individual requirements
  8508. of higher levels. This leads to the development of new components from
  8509. existing requirements, and ensures that the rating criteria used for
  8510. the component levels does not impair flexibility in profile
  8511. construction. Provided that an environment-specific requirement leads
  8512. to the selection of at least one complete level (e.g., the low-water
  8513. mark), different individual requirements of a higher level of the same
  8514. component can be selected to augment the selected low-water- mark
  8515. level.
  8516.  
  8517. Example 10: Low-water-mark selection of component levels for MSFR
  8518. requirements
  8519.  
  8520. Access control requirements of the Commercial Security Protection
  8521. Profiles CS-2 and CS-3 were derived from the specific requirements of
  8522. the MSFR by using low-water-mark selection of levels.
  8523.  
  8524. CS-2: AC-2+:        These rules shall, either by explicit user action or
  8525. by default, provide that objects are protected from unauthorized
  8526. access.
  8527.  
  8528. These rules shall allow authorized users to specify and control
  8529. sharing of objects by named individuals or defined groups of
  8530. individuals, or by both, and shall provide controls to limit
  8531. propagation of access rights, (i.e., these rules shall define the
  8532. distribution, revocation, and review of access control attributes).
  8533. The controls defined by these rules shall be capable of specifying for
  8534. each named object, a list of individuals and a list of groups of named
  8535. individuals, with their respective access rights to that object.
  8536. Furthermore, for each named object, it shall be possible to specify a
  8537. list of named individuals and a list of groups of named individuals
  8538. for which no access to the object is given [AC-4]. These controls
  8539. shall be capable of including or excluding access to the granularity
  8540. of a single user.
  8541.  
  8542. CS-3: AC-2+: If multiple access control policies are supported, the
  8543. access control attributes corresponding to each individual policy
  8544. shall be identified. The subject and object attributes shall
  8545. accurately reflect the sensitivity and/or integrity of the subject or
  8546. object. The subject's access control attributes also shall include
  8547. time and location attributes that can be assigned to authenticated
  8548. user identities [AC-4].
  8549.  
  8550. The TCB shall define and enforce authorization rules for the mediation
  8551. of subject references to objects. These rules shall be based on the
  8552. access control attributes of subjects and objects. These rules shall,
  8553. either by explicit user action or by default, provide that objects are
  8554. protected from unauthorized access. These rules shall include
  8555. time-of-access and location-of-access controls defined for subjects
  8556. and objects [AC-4].
  8557.  
  8558.  
  8559.  
  8560. The rating of the functional and assurance components can also cause
  8561. multiple levels of the same component to be selected when the
  8562. environment-specific requirements are interpreted at the product
  8563. level. Whenever this happens, the selection of the component level
  8564. follows a "high water mark" rule. That is, the selected level is the
  8565. maximum of all the levels separately selected from the same component.
  8566.  
  8567. Example 11: High-water-mark selection of component levels for TCSEC
  8568. requirements
  8569.  
  8570. The system architecture requirements of the TCSEC class B3 include the
  8571. following specific requirements:
  8572.  
  8573. TCSEC System Architecture Requirement (B3) --> Modular Decomposition
  8574. (MD)
  8575.  
  8576. Requirement Component
  8577.  
  8578. The TCB shall be structured into MD-2 well-defined modules
  8579.          and Significant system engineering shall be MD-3 directed
  8580. towards minimizing the complexity of the TCB and excluding from the
  8581. TCB modules that are not protection-critical.
  8582.  
  8583. The TCB structuring into modules requires the selection of assurance
  8584. component MD-2. The minimization of the TCB complexity and the
  8585. exclusion of protection-irrelevant modules from the TCB lead to the
  8586. selection of the assurance component MD-3 because module exclusion
  8587. requires the analysis of the correctness dependencies between modules.
  8588. This is required to determine whether a protection-relevant module
  8589. does not depend directly or indirectly on a module deemed to be
  8590. protection-irrelevant and scheduled for removal from the TCB.  Since
  8591. the modular decomposition level MD-3 includes the requirements of
  8592. level MD-2, level MD-3 is the high-water-mark level and thus it must
  8593. be selected.
  8594.  
  8595. The system architecture and design specification and verification
  8596. requirements of the TCSEC class A1 include the following specific
  8597. requirements:
  8598.  
  8599. TCSEC System Architecture Requirement (A1) - > Interface Definition
  8600. (IF-2)
  8601.  
  8602. TCSEC Design Specification Requirement (A1) - > Interface Definition
  8603. (IF-3)
  8604.  
  8605. Requirement Component
  8606.  
  8607. The user interface shall be completely IF-2 defined and all elements
  8608. identified.
  8609.  
  8610. A formal top-level specification (FTLS) IF-3 of the TCB shall be
  8611. maintained that accurately describes the TCB in terms of exceptions,
  8612. error messages, and effects.
  8613.  
  8614. Since the interface definition level IF-3 includes the requirements of
  8615. level IF-2, level IF-3 is the high-water-mark level and thus, it must
  8616. be selected.
  8617.  
  8618. Note that the decomposition and level-selection may require assignment
  8619. and refinement and vice-versa. For example, the "low water mark" level
  8620. selection, assignment, and refinement are illustrated by the
  8621. requirements of access-control attribute administration in component
  8622. AC-2+ of profiles CS-2 and CS-3.
  8623.  
  8624. 7.3       Dependency Analysis
  8625.  
  8626. The analysis of the dependencies between functional and assurance
  8627. components must be performed during profile construction. Such
  8628. analysis helps (1) avoid inadequate, or incorrect, profile
  8629. specification, (2) avoid overspecification of a profile, (3) determine
  8630. the effect of profile changes (e.g., addition or removal of individual
  8631. components or component requirements), and (4) analyze the
  8632. compatibility of different protection profiles and harmonize different
  8633. sets of component requirements (see Appendix E). This section
  8634. illustrates and classifies functional and assurance dependencies.
  8635. Examples are provided to show the use of dependency analysis in
  8636. profile-compatibility analysis and profile-change analysis. This
  8637. section is intended to enable protection profile developers to define
  8638. consistent and coherent profiles that can be evaluated and used by
  8639. independent organizations. It is further intended to motivate the
  8640. analysis required when comparing different standards addressing
  8641. information protection in IT products or when ensuring the
  8642. preservation of previous investments (e.g., maintaining compatibility
  8643. with the TCSEC).
  8644.  
  8645. 7.3.1     Dependency Classification
  8646.  
  8647. Dependencies among the components of a product appear (1) among the
  8648. functional components, (2) among assurance components, and (3) between
  8649. the functional components and assurance components. Dependencies may
  8650. also exist between the functional and assurance components and the
  8651. product definition and operation. These dependencies help enlarge the
  8652. application of a profile definition to widely-used products that might
  8653. otherwise be considered inadequate for a specific protection profile.
  8654. These dependencies can be analyzed in a similar manner as those of the
  8655. first three classes, as this class does not introduce new dependency
  8656. types. The role of classifying these dependencies is (1) to help
  8657. achieve consistency and coherent profile definition, and (2) to
  8658. decrease profile-definition susceptibility to inconsistent component
  8659. classification of a component either as function or as an assurance.
  8660.  
  8661. Dependencies are classified into several types that are reminiscent of
  8662. those that appear in the correctness analysis of large systems and
  8663. products. This classification helps identify the important
  8664. dependencies that are necessary to achieve the consistency and
  8665. coherence of a protection profile.
  8666.  
  8667. 7.3.2     Dependencies Among Functional Components
  8668.  
  8669. Dependencies among functional components arise because the functions
  8670. that implement a component depend on functions implementing other
  8671. components, or because different functions implementing different
  8672. components must implement the same policy (properties) or
  8673. requirement(s), individually or together. Thus,a distinction is made
  8674. between the "uses" and "policy property" types of dependencies. There
  8675. exists a "uses" dependency between two functional components, A and B,
  8676. if the correctness of functions implementing A assumes the correctness
  8677. of functions implementing B. There exists a "policy property"
  8678. dependency between two functional components, A and B, if functions
  8679. implementing both A and B must implement, either individually or
  8680. together, a property or a condition required by the policy (e.g., the
  8681. *-property, the simple security condition). Both "uses" and "policy
  8682. property" dependencies may appear within a set of components, as shown
  8683. in the balance of this section.
  8684.  
  8685. 7.3.2.1   "Uses" Dependency among Functional Components
  8686.  
  8687. "Uses" dependencies exist among different functional components of a
  8688. TCB. Figure 7 illustrates "uses" dependencies among the different
  8689. security policies supported by a TCB.  These policies include access
  8690. control, accountability (i.e., identification and authentication,
  8691. system entry, trusted path, and audit), and availability. Figure 7
  8692. also illustrates "uses" dependencies among the security policies and
  8693. the balance of the functional components (i.e., reference mediation,
  8694. TCB logical protection, TCB least privilege operation, TCB ease-of
  8695. -use, TCB start-up and recovery, TCB self-checking, and TCB physical
  8696. protection). For example, a "uses" dependency arises among the access
  8697. control and the TCB recovery components because access control can be
  8698. correctly enforced only if the TCB recovery from failures and
  8699. discontinuity of operations is correct.
  8700.  
  8701. "Uses" dependencies also exist within a functional component of a TCB
  8702. (i.e., among the individual requirements of a single component).
  8703. Figure 8 illustrates several "uses" dependencies within the access
  8704. control component of a TCB. For example, authorization has a "uses"
  8705. dependency on attribute- administration because the access
  8706. authorization functions are correct only if the distribution and
  8707. revocation functions implementing attribute administration are correct
  8708. (see Appendix C). A similar dependency appears within attribute
  8709. administration (i.e., the access review function is correct only if
  8710. the distribution and revocation functions are correct).
  8711.  
  8712. Note that both the "uses" dependency within a functional component and
  8713. among functional components may cause cyclic dependencies to arise. A
  8714. typical cyclic dependency is illustrated in Figure 9(a). Unprivileged
  8715. subject references to objects can be mediated correctly only if TCB
  8716. protection is provided, and TCB protection can be provided only if
  8717. unprivileged subject references that attempt to modify objects
  8718. implementing TCB isolation are denied by reference mediation. The
  8719. removal of this cyclic dependency is illustrated in Figure 9(b).
  8720. Removal is made possible by including a requirement (and corresponding
  8721. function) for a specialized reference mediation that mediates only
  8722. references to objects implementing TCB isolation.
  8723.  
  8724. Cyclic dependencies may arise among the requirements of several
  8725. functional components, and individual requirements of functional
  8726. components may be part of several cyclic dependencies. An example of
  8727. multiple (i.e., three) cyclic dependencies is illustrated in Figure
  8728. 9(c).
  8729.  
  8730. In Figure 9(c), the first cyclic dependency is between access
  8731. authorization and attribute administration. It arises not only because
  8732. the authorization functions depend on attribute- administration
  8733. functions (i.e., distribution and revocation functions), but also
  8734. because the attribute-administration functions require authorization
  8735. for reading and writing authorization objects (e.g., access control
  8736. lists) to distribute, review, and revoke object access rights. The
  8737. second cyclic dependency is between authorization and object creation
  8738. and destruction. Object creation and destruction depends on
  8739. authorization because, when objects are created (or destroyed) and
  8740. placed in (or removed from) directories, the creation (or destruction)
  8741. functions rely on access check functions that authorize directory
  8742. modification. Attribute administration, however, depends on object
  8743. creation and destruction because attribute-administration functions
  8744. need to create authorization objects to specify object attributes
  8745. (i.e., access rights). Hence, authorization depends, albeit
  8746. indirectly, on object creation and destruction functions. The third
  8747. cyclic dependency is between the availability component and the access
  8748. control component. The availability function of modifying resource
  8749. quotas can be correct only if the authorization function of access
  8750. control is correct.  Otherwise, arbitrary modifications of resource
  8751. quotas may take place. Hence, availability depends on access
  8752. authorization. Since the object creation component of access control
  8753. depends on the resource allocation component of availability, a cyclic
  8754. dependency arises because the authorization component depends
  8755. indirectly on the object creation component.
  8756.  
  8757. Figure 9(d) illustrates the removal of the cyclic dependencies
  8758. depicted in Figure 9(c). The cyclic dependency between authorization
  8759. and attribute administration can be removed by including a requirement
  8760. for a specialized authorization function that controls access only to
  8761. authorization objects used for attribute administration. The cyclic
  8762. dependency between attribute administration and object creation and
  8763. destruction can be removed by including a requirement for default
  8764. creation, initialization, and destruction of authorization objects for
  8765. all other objects, within attribute administration. As illustrated in
  8766. Figure 9(d), the removal of these two cyclic dependencies also causes
  8767. the removal of the cyclic dependency between access authorization and
  8768. the availability component of this example.
  8769.  
  8770. 7.3.2.2   Policy-Property Dependency
  8771.  
  8772. "Policy property" dependencies may be found within a single functional
  8773. component and among different functional components of a TCB. Figure 8
  8774. also illustrates these policy property dependencies within a
  8775. functional component of a TCB.  For example, a property of an access
  8776. control policy may be that "a subject may not view an object unless it
  8777. has the read access right and may not alter an object unless it has
  8778. the write access right for that object" (i.e., a property of access
  8779. authorization which the TCB must implement). In an access control
  8780. policy that supports this property, both the authorization and the
  8781. attribute administration functions must maintain this property.
  8782. Similarly, if the propagation of access rights to an object must be
  8783. controlled, then a policy property may be that "unauthorized retention
  8784. of access rights to an object cannot take place." To satisfy this
  8785. property, the access-right revocation function must be able to undo
  8786. the effect of the access-right distribution function (i.e., a "policy
  8787. property" dependency exists between the distribution and revocation
  8788. functions of attribute administration). The two functions must have
  8789. the same scope, granularity, and coverage (i.e., it must refer to the
  8790. same set of subjects and objects, must refer to the same subject and
  8791. object attributes, and must include or exclude the same conditions,
  8792. such as transitivity).
  8793.  
  8794. Figure 10 illustrates several "policy property" dependencies among
  8795. different functional components of a TCB. If components such as access
  8796. control, audit, and availability are supposed to counter the same set
  8797. of threats, then these components must satisfy the same policy
  8798. properties, or requirements, either individually or together, and must
  8799. have the same scope and granularity. For example, if the threat is
  8800. that posed by malicious application programs (e.g., Trojan Horses in
  8801. untrusted application programs), then the functional components of
  8802. access control and availability policies (i.e., resource control) must
  8803. be non-discretionary, and must control and audit the use of covert
  8804. channels. These policies must also refer to the same set of subjects
  8805. and objects (i.e., same scope) and to the same subject and object
  8806. attributes (i.e., same granularity). Identification and authentication
  8807. components must include non-discretionary attributes (e.g.,
  8808. confidentiality and/or integrity levels, roles) among the
  8809. authorization data, and must control the users' selection of these
  8810. attributes during system entry. Trusted path support also becomes
  8811. necessary.
  8812.  
  8813. 7.3.2.3   Multiple Dependencies
  8814.  
  8815. A functional component may simultaneously depend on other functional
  8816. components. A component may have (1) multiple "uses" dependencies, (2)
  8817. multiple "policy-property" dependencies, or (3) combinations of
  8818. `"uses" and "policy- property" dependencies. For example, Figure 7
  8819. shows that the access control, audit, and availability components have
  8820. direct or indirect "uses" dependencies with all other functional
  8821. components. Also, Figure 9 shows that object creation and destruction
  8822. may have multiple direct "uses" dependencies (i.e., on authorization
  8823. and availability).
  8824.  
  8825. Figures 8 and 10 suggest that, since multiple policies may be
  8826. supported in a product, multiple policy properties will exist and,
  8827. therefore, a component may have multiple "policy property"
  8828. dependencies. The composition of policies within a product requires
  8829. that multiple dependencies be analyzed to determine whether the
  8830. composed policies satisfy the required system policy. For example, a
  8831. profile may require that both a mandatory policy controlling
  8832. information flow (via covert channels) and a discretionary policy be
  8833. supported. The composition rules for the resulting TCB access control
  8834. policy require that (1) both the mandatory and discretionary
  8835. authorization rules be enforced on every subject and object protected
  8836. by discretionary controls, and (2) the references issued by the
  8837. enforcement modules of the discretionary policy be subject to the
  8838. mediation specified by the mandatory rules.  This precedence of
  8839. enforcement is important whenever the exceptions returned by the
  8840. enforcement of the two sets of rules are different. The reason is that
  8841. if non-identical exceptions are returned by the two sets of rules, new
  8842. covert channels may appear that would otherwise not appear had only
  8843. the mandatory rules been enforced. These covert channels would violate
  8844. the intent of the mandatory confidentiality policy.  Similarly, the
  8845. composition of distinct mandatory policies that individually control
  8846. information flow may introduce additional flow violations that did not
  8847. exist before composition. This suggests that the composition of
  8848. policies within a profile introduces additional requirements for
  8849. analyzing policy-property dependencies.
  8850.  
  8851. Figures 8 and 10 also illustrate that a component may have both "uses"
  8852. and "policy-property" dependencies.
  8853.  
  8854. 7.3.3     Dependencies Among Assurance Components
  8855.  
  8856. Dependencies arise among assurance components because some components
  8857. use other components, or because different assurance components belong
  8858. to the same assurance process.  Thus, a distinction is made between
  8859. "uses" dependencies and "assurance process" dependencies. A "uses"
  8860. dependency exists between two assurance components, A and B, if
  8861. obtaining assurance A requires that assurance B must be first
  8862. obtained.  An "assurance process" dependency exists between two
  8863. assurance components, A and B, if both A and B represent two required
  8864. stages of the same assurance process (e.g., development process,
  8865. maintenance process in the development environment, and
  8866. operation-support process).
  8867.  
  8868. 7.3.3.1   "Uses" Dependency among Assurance Components
  8869.  
  8870. The "uses" dependency can arise both among, and within, the components
  8871. of the same assurance process and between the components of different
  8872. assurance processes. Figure 11 illustrates several "uses" dependencies
  8873. among, and within, the operational assurance requirements of the TCSEC
  8874. class B2.  For example, operational assurance SR1 depends on
  8875. operational assurance SR6 because the TCB user (external) interfaces
  8876. must be completely defined to establish the protection boundary of the
  8877. TCB domain. SR1 also depends on the operational assurance SR11 (i.e.,
  8878. the reference validation mechanism) because the protection of the TCB
  8879. domain can be established only if user references that attempt to
  8880. modify TCB internal objects implementing TCB isolation are blocked by
  8881. the reference validation mechanism. Operational assurance SR11
  8882. requires that the TCB be decomposed into modules. However, since the
  8883. hardware/firmware modules that separate the protection- critical
  8884. elements from those that are not protection-critical also contain
  8885. reference validation checks, these modules must also be identified to
  8886. satisfy operational assurance SR11.  Hence, SR11 also depends on SR2.
  8887. Also, operational assurance SR10 depends on operational assurance SR6
  8888. since the operator and administrator functions offer external TCB
  8889. interfaces.  SR10 depends on operational assurance SR4 because the
  8890. operator and administrator functions are part of the TCB and, thus,
  8891. must operate with the least privileges to accomplish their role
  8892. Furthermore, the separation of operator and administrator functions
  8893. implies that the operator and administrator must have special
  8894. privileges representing different role authorities to invoke these
  8895. functions. Similar reasoning applies to the other dependencies shown
  8896. in Figure 11.
  8897.  
  8898. "Uses" dependencies appear between the components of the same
  8899. assurance process because of the types of specifications and the types
  8900. of correspondences between specifications used in the process. For
  8901. example, both penetration-flaw and covert- channel identification
  8902. methods depend on the types of TCB specification used.
  8903. Specification-to-code correspondence depends on whether TCB design
  8904. specifications are required and on the specific type of TCB design
  8905. specifications (DIS or FIS). Generation of functional test conditions
  8906. depends on policy-model interpretation in, or correspondence to, the
  8907. TCB design specification, and test coverage using data-flow and path
  8908. analysis depends on specification-to-code correspondence.
  8909.  
  8910. The "uses" dependency may arise between components of different
  8911. assurance processes. For example, operational support components, such
  8912. as flaw-discovery, tracking and repair, and also protection
  8913. maintenance, TCB generation, and TCB distribution, depend on the
  8914. configuration management component of the development environment.
  8915. Naturally, the development evidence components depend on the
  8916. components of the development process.
  8917.  
  8918. 7.3.3.2   Assurance-Process Dependencies
  8919.  
  8920. In contrast to the "uses" dependencies, the "assurance process"
  8921. dependencies arise only among the stages of the same assurance
  8922. process. For example, the operation-support process would be
  8923. incomplete if only flaw discovery, but not tracking and repair, were
  8924. performed. The maintenance process of the development environment
  8925. would be meaningless if the configuration management component is
  8926. implemented, but not the life-cycle component. If the procedures for
  8927. controlling access to the configuration management systems are
  8928. unspecified, the use of that IT product may become meaningless in some
  8929. environments. Similarly, assurance of correct implementation of the
  8930. TCB properties would not be available without the provision of a
  8931. detailed design, architectural design, or TCB property definition.
  8932.  
  8933. Assurance-process dependencies help determine the assurance components
  8934. necessary in an IT product and the chain of evidence that the product
  8935. is correctly implemented. For example, the development assurance
  8936. process may include the following design specification and
  8937. verification requirements: (1) definition of the model for the access
  8938. control policy, (2) TCB interface specification, (3) TCB
  8939. implementation (e.g., source code), (4) valid interpretation of the
  8940. model in the TCB (i.e., demonstration of consistency between the model
  8941. and the TCB), and (5) TCB specification-to-code correspondence (i.e.,
  8942. demonstration of consistency between the TCB design specification and
  8943. TCB source code). These requirements are process-dependent. Without
  8944. any one of these requirements, the design specification and
  8945. verification would be incomplete and the protection profile could
  8946. become inadequate for the chosen environment of product use (e.g., it
  8947. may not be possible to demonstrate the correct implementation of the
  8948. reference monitor concept).
  8949.  
  8950. Example 12: Missing process dependencies for the design specification
  8951. and verification process
  8952.  
  8953. Assurance requirements (1) - (5) listed above are found among those of
  8954. the TCSEC class A1. The assurance requirements of class B3 lack the
  8955. last assurance requirement, namely TCB specification-to-code
  8956. correspondence (i.e., demonstration of consistency between the TCB
  8957. design specification and TCB source code) and thus, the B3 design
  8958. specification and verification process is incomplete. Note that since
  8959. the complete analysis and testing of the reference validation
  8960. mechanism is a requirement of the reference monitor concept, and since
  8961. the assurance requirements of TCSEC class B3 require the demonstration
  8962. of a reference monitor implementation, it is concluded that the class
  8963. B3 assurance requirements do not completely satisfy the requirements
  8964. of the reference monitor concept. (Although the other TCSEC classes
  8965. lack this and other requirements of the design specification and
  8966. verification process, their assurances are affected to a smaller
  8967. degree because most of these classes do not include a requirement for
  8968. demonstrable reference monitor implementation.)
  8969.  
  8970. 7.3.4      Dependencies between Functions and Assurances
  8971.  
  8972. The analysis of the dependencies between functional and assurance
  8973. components helps determine whether the selection of assurances made in
  8974. the definition of a profile is consistent with the specific selection
  8975. of functional-component requirements. That is, by definition, a
  8976. functional component requirement has a "uses" dependency on an
  8977. assurance requirement if the assurance requirement becomes necessary
  8978. whenever the functional component requirement is used in a profile
  8979. definition. In other words, the analysis of the dependencies between
  8980. functional and assurance components helps determine whether a
  8981. functional component can be correctly designed, analyzed, implemented,
  8982. and evaluated given the selected set of assurance components.
  8983.  
  8984. Note that, based on the definition of a "uses" dependency and on the
  8985. definition and classification of functions and assurances used in this
  8986. standard, obtaining an assurance should be independent of the presence
  8987. of any protection function; i.e., obtaining and demonstrating an
  8988. assurance for a protection function should not require that other
  8989. protection functions be added to a TCB. This assurance independence of
  8990. functional components is also justified by the observation that
  8991. assurances contribute only to the elimination of internal TCB design
  8992. and implementation errors but do not counter any threat posed by
  8993. external users or untrusted applications.
  8994.  
  8995. The dependencies between functional and assurance components are
  8996. "uses" dependencies. These dependencies are illustrated by the
  8997. following examples:
  8998.  
  8999. a.        Whenever functions of distinct security policies are supported
  9000. (e.g., composed) within the TCB, the TCB interface must be designed so
  9001. that it is consistent with the properties of the overall TCB security
  9002. pol- icy. By the definition of dependency between func- tional and
  9003. assurance components, the access control functions depend on the TCB
  9004. interface design.
  9005.  
  9006. b.        Whenever mandatory confidentiality or integrity poli- cies are
  9007. supported within a TCB to establish informa- tion flow boundaries
  9008. among untrusted applications, a covert-channel analysis must be
  9009. performed. Thus, the access control policies used depend on
  9010. covert-channel analysis.
  9011.  
  9012. c.        Whenever different identification and authentication policies
  9013. are used within a TCB (e.g., user-chosen passwords or one-time
  9014. passwords generated by password devices), the selection of test
  9015. condition and test coverage types is based on the properties of those
  9016. policies. Password length, lifetime, and complexity testing is
  9017. performed for policies that allow users to choose their own passwords,
  9018. whereas only the analysis of the complexity of one-time passwords is
  9019. performed for policies using one-time passwords (since these passwords
  9020. have fixed length and lifetime).
  9021.  
  9022. d.        Whenever the reference validation mechanism is imple- mented
  9023. within a TCB, the access control policies defined have a dependency on
  9024. the type of specifica- tion-to-code correspondence method. For
  9025. example, the correspondence methods used to show that discretionary
  9026. access control requirements are implemented by source code may be
  9027. based on establishing the correspondence between state transitions of
  9028. a policy model and those of the source code. These methods differ from
  9029. those based on information flow and non-interference, which are used
  9030. to show that the source code does not intro- duce information flows to
  9031. those flows found in the interface specifications.
  9032.  
  9033. 7.3.4.1   Relationship to other Function and Assurance Classifi- cations
  9034.  
  9035. It is important to note that other, equally valid, classifications of
  9036. functional and assurance components, which differ from the one defined
  9037. in this standard, may cause assurances to depend on access control
  9038. components. For example, TCB recovery, covert channel handling,
  9039. trusted facility management, and the TCB privileged (i.e., least
  9040. privilege) operations may be considered to be operational assurances
  9041. (see the TCSEC). As shown in Figures 8 and 10, some operational
  9042. assurances become policy-property dependent on the access control
  9043. components because some of these assurances can only be obtained if
  9044. the policy properties are defined.  Cyclic dependencies may also arise
  9045. between these components; e.g., between trusted recovery assurance and
  9046. access control.
  9047.  
  9048. The specific classification of TCB functional and assurance components
  9049. used in this standard does not affect the dependencies among the
  9050. profile components. For example, the dependencies among operational
  9051. assurances of the TCSEC B2 class products are described as (1) "uses"
  9052. dependencies among assurance components of the development process,
  9053. (2) "uses" dependencies among functional components, and (3) "uses"
  9054. dependencies between functional components on assurance components of
  9055. this standard. This is illustrated by the examples of the next
  9056. section. It is important to note that regardless of how the functional
  9057. and assurance components are classified, the existence of dependencies
  9058. identified among those components does not change. In this sense,
  9059. dependency analysis removes the susceptibility of a profile definition
  9060. and analysis to different classifications of functional and assurance
  9061. components.
  9062.  
  9063. 7.3.5     Examples of Using Dependency Analysis
  9064.  
  9065. The use of dependency analysis is illustrated by two examples.  First,
  9066. functional and assurance components are selected for a protection
  9067. profile that is intended to include the B2 operational assurances of
  9068. the TCSEC (see protection profile LP-2). Second, dependency analysis
  9069. is used in profile enhancement. The example illustrates the role of
  9070. dependency analysis when the B2 assurances are enhanced by the B3
  9071. assurances (see protection profile LP-3).
  9072.  
  9073. Example 13: Analysis of profile compatibility
  9074.  
  9075. The result of decomposing the TCSEC B2 operational assurance
  9076. requirements into the functional and assurance components of this
  9077. standard is illustrated in Figure 12. After decomposing the B2
  9078. requirements, it must be established that the decomposition does
  9079. preserve the dependencies (e.g., the "uses" dependencies) that exist
  9080. among the B2 operational assurances. To establish that the
  9081. dependencies are preserved, the assignment and level-selection steps
  9082. must also be performed. Figure 12 shows the assignment and
  9083. level-selection performed for the decomposed B2 assurance
  9084. requirements. With the exception of specific requirements, SR1, SR8,
  9085. SR10 and SR11, which are classified as functional component
  9086. requirements by this standard, all other specific B2 operational
  9087. assurance requirements (see Figure 11) correspond to assurance
  9088. components of this standard.
  9089.  
  9090. Figure 12 illustrates the fact that reclassification of an assurance
  9091. component as a functional component does not affect the existing
  9092. dependencies. This figure shows that the TCB interface design (IF-2)
  9093. relies on the decomposition of the TCB into modules and the
  9094. identification of the modules that offer external TCB interfaces
  9095. (MD-2). TCB modular decomposition cannot be performed without the
  9096. identification of the TCB elements (ID-2). Storage channel analysis
  9097. (CCA-1) needs both the TCB interface design (IF-2) and the modular
  9098. decomposition of the TCB (MD-2); the former is needed for defining the
  9099. covert-storage channels in terms of TCB system calls and parameters,
  9100. whereas the latter is needed for source-code level identification of
  9101. information flows. Support for TCB structuring (SP-2) can be effective
  9102. only if both the modular decomposition of the TCB (MD-2) and the
  9103. identification of the TCB elements (ID-2) are available. The isolation
  9104. of TCB processes and the separation of the protection critical TCB
  9105. elements from the non-critical ones (SP-2) requires the modular
  9106. decomposition of the TCB elements. Modular decomposition and
  9107. separation can only be done after the TCB elements are identified and
  9108. justified (ID-2). Note, however, that the dependency of the specific
  9109. requirement SR2 on SR5 illustrated in Figure 11 does not correspond to
  9110. an inter- component dependency in Figure 12. Instead, it corresponds
  9111. to the implicit dependency between the component levels SP- 2 and
  9112. SP-1; i.e., SP-1 is included in SP-2. The high-water-mark level
  9113. selection implies that only level SP-2 is selected for profile
  9114. inclusion.
  9115.  
  9116. Similar reasoning can be used to show that the rest of the
  9117. dependencies among the B2 operational assurances are preserved by the
  9118. decomposition, assignment, and level- selection steps leading to the
  9119. functional and assurances components synthesized in Figure 12 (and in
  9120. the protection profile LP-2).
  9121.  
  9122. Example 14: Enhancing profile requirements
  9123.  
  9124. Enhancing the component requirements of a protection profile (1) can
  9125. introduce new dependencies and (2) lead to new level selections in
  9126. profile synthesis. For example, enhancing the operational assurance
  9127. requirements of the TCSEC B2 class to obtain those of the TCSEC B3
  9128. class introduces both new dependencies and level selections. Figure 13
  9129. illustrates the new level selections for the corresponding profile
  9130. components. For example, the B3 requirement SR10', which replaces the
  9131. B2 requirement SR10, implies that component SM- 1++ must replace
  9132. component SM-1+ in the corresponding profile (see protection profile
  9133. LP-3). Furthermore, the B3 covert- channel analysis requirement SR9',
  9134. which replaces the B2 storage-channel analysis requirement SR9,
  9135. implies that the component CCA-2 must replace component CCA-1 in the
  9136. corresponding profile (see protection profile LP-3).
  9137.  
  9138. Figure 13 also illustrates the new dependencies introduced by the
  9139. transition from operational assurances of class B2 to those of class
  9140. B3 in the TCSEC. New dependencies appear between requirements SR13 and
  9141. SR3, between requirements SR13 and SR2, between requirements SR12 and
  9142. SR2, and between requirements SR12 and SR5. These new dependencies
  9143. cause the high-water-mark selection of levels MD-3 and SP-3. Within
  9144. the development process, the minimization of the TCB complexity (as
  9145. required by SR13) depends on the modular decomposition of the TCB (as
  9146. required by SR3), and on the analysis of the "uses" dependencies among
  9147. modules. If a module containing a protection-relevant function also
  9148. depends upon the correctness of another module, then that other module
  9149. cannot be removed from the TCB. Since the modular decomposition level
  9150. MD-3, not MD-2, includes the analysis of the inter-module correctness
  9151. relationships, level MD-3 must be selected.  Similarly, the run-time
  9152. enforcement of data hiding, abstraction, and layering must be
  9153. supported by a TCB protection mechanism with precisely defined
  9154. semantics (e.g., rings or domains of protection). Otherwise, it cannot
  9155. be reasoned that the TCB structuring is correctly enforced. This
  9156. suggests that the TCB structuring support component SP-3, not SP-2,
  9157. must be selected for profile inclusion.
  9158.  
  9159. The dependency of the specific requirement SR12 on SR2 and SR5
  9160. illustrated in Figure 13 does not correspond to an inter- component
  9161. dependency. Instead, it corresponds to the implicit dependency between
  9162. the component levels SP-3, SP- 2 and SP-1; i.e., SP-1 is included in
  9163. SP-2, and SP-2 is included in SP-3.  Note that, even if component
  9164. level SP-2 is required by other component levels (e.g., by RM-3 in
  9165. Figure 12), the high-water- mark level selection implies that
  9166. component level SP-3 must be selected.
  9167.  
  9168. 7.4       Bibliographic Notes
  9169.  
  9170. TBD.  
  9171.  
  9172. ACRONYMS
  9173.  
  9174. AIS       Automated Information System
  9175.  
  9176. CISR      Commercial International Security Requirements
  9177.  
  9178. CTCPEC    Canadian Trusted Computer Product Evaluation Criteria
  9179.  
  9180. DAA       Designated Approving Authority
  9181.  
  9182. DARPA     Defense Advance Research Projects Agency
  9183.  
  9184. DBMS      Database Management System
  9185.  
  9186. DIS       Descriptive Interface Specification
  9187.  
  9188. DoD       Department of Defense
  9189.  
  9190. FCWG      Federal Criteria Working Group
  9191.  
  9192. FIPS      Federal Information Processing Standard
  9193.  
  9194. FIS       Formal Interface Specification
  9195.  
  9196. ISO       International Standards Organization
  9197.  
  9198. IT        Information Technology
  9199.  
  9200. ITSEC     Information Technology Security Evaluation Criteria
  9201.  
  9202. LAN       Local Area Network
  9203.  
  9204. MSR       Minimum Security Requirements
  9205.  
  9206. NCSC      National Computer Security Center
  9207.  
  9208. NIST      National Institute of Standards and Technology
  9209.  
  9210. NSA       National Security Agency
  9211.  
  9212. RBOC      Regional Bell Operating Company
  9213.  
  9214. TCB       Trusted Computing Base
  9215.  
  9216. TCSEC     Trusted Computer System Evaluation Criteria
  9217.  
  9218. TDI       Trusted Database Management System Interpretation
  9219.           of the Trusted Computer System Evaluation Criteria
  9220.  
  9221. TRS       Travel Related Services
  9222.  
  9223.  
  9224. GLOSSARY
  9225.  
  9226. Access - Ability and means to communicate with (i.e., input to or
  9227. receive output from), or otherwise make use of any information,
  9228. resource, or object in an Information Tech- nology (IT) Product.
  9229. Frequently used as a verb, contrary to the rules of grammar.
  9230.  
  9231.           Note: An individual does not have "access" if the proper
  9232. authority or a physical, technical, or procedural measure prevents
  9233. them from obtaining knowledge or having an opportunity to alter
  9234. information, material, resources, or components.
  9235.  
  9236. Access Control - Process of limiting access to the resources of an IT
  9237. product only to authorized users, programs, pro- cesses, systems, or
  9238. other IT products.
  9239.  
  9240. Access Control List -A list of subjects that are authorized to have
  9241. access to some object(s). Usually, this list con- tains entries
  9242. consisting of identifiers of users and groups of users and access
  9243. rights.
  9244.  
  9245. Access Control Mechanism - Security safeguards designed to de- tect
  9246. and prevent unauthorized access, and to permit au- thorized access in
  9247. an IT product.
  9248.  
  9249. Access Mediation - Process of monitoring and controlling ac- cess to
  9250. the resources of an IT product, including but not limited to the
  9251. monitoring and updating of policy at- tributes during accesses as well
  9252. as the protection of un- authorized or inappropriate accesses (see
  9253. Access Control).
  9254.  
  9255. Accountability - Means of linking individuals to their inter- actions
  9256. with an IT product, thereby supporting identifi- cation of and
  9257. recovery from unexpected or unavoidable failures of the control
  9258. objectives.
  9259.  
  9260. Accreditation - Formal declaration by a designated approving authority
  9261. that an Automated Information System (AIS) is approved to operate in a
  9262. particular security configura- tion using a prescribed set of
  9263. safeguards.
  9264.  
  9265. Application Program Interface - System access point or library
  9266. function that has a well-defined syntax and is accessible from
  9267. application programs or user code to provide well- defined
  9268. functionality.
  9269.  
  9270. Assignment - Requirement in a protection profile taken direct- ly as
  9271. stated, without change, from the list of components or derived by
  9272. placing a bound on a threshold definition.
  9273.  
  9274.           Note: The assignment of environment-specific requirements to
  9275. generic component requirements is performed when a component
  9276. requirement corresponds to an environment-specific requirement.
  9277.  
  9278. Assurance - (See Profile Assurance and IT Product Assurance).
  9279.  
  9280. Audit - Independent review and examination of records and ac- tivities
  9281. to determine compliance with established usage policies and to detect
  9282. possible inadequacies in product technical security policies of their
  9283. enforcement.
  9284.  
  9285. Audit Trail - Chronological record of system activities to en- able
  9286. the reconstruction and examination of the sequence of events and/or
  9287. changes in an event. [NSTISSI 4009]
  9288.  
  9289.           Note: Audit trail may apply to information in an IT product or
  9290. an AIS or to the transfer of COMSEC material.
  9291.  
  9292. Authenticate - Verify the identity of a user, user device, or other
  9293. entity, or the integrity of data stored, transmit- ted, or otherwise
  9294. exposed to unauthorized modification in an IT product.
  9295.  
  9296. Authentication - Means of verifying an entity's (e.g., indi- vidual
  9297. user, machine, software component) eligibility to receive specific
  9298. categories of information.
  9299.  
  9300. Authorization - Access rights granted to a user, program, or process.
  9301. [NSTISSI 4009]
  9302.  
  9303. Authorized - Entitled to a specific mode of access.
  9304.  
  9305. Automated Information System (AIS) - Any equipment or inter- connected
  9306. systems or subsystems of equipment that is used in the automatic
  9307. acquisition, storage, manipulation, management, movement, control,
  9308. display, switching, in- terchange, transmission or reception of data
  9309. and in- cludes computer software, firmware, and hardware.  [NSTISSI
  9310. 4009]
  9311.  
  9312.           Note: Included are computers, word processing systems,
  9313. networks, or other electronic information handling systems, and
  9314. associated equipment.
  9315.  
  9316. Availability - Ability to access a specific resource within a specific
  9317. time frame as defined within the IT product specification.
  9318.  
  9319. Bandwidth - Rate at which information is transmitted through a
  9320. channel. (See channel capacity)
  9321.  
  9322.           Note: Bandwidth is originally a term used in analog
  9323. communication, measured in Hertz, and related to information rate by
  9324. the "sampling theorem" (generally attributed to H. Nyquist although
  9325. the theorem was in fact known before Nyquist used it in communication
  9326. theory). Nyquist's sampling theorem says that the information rate in
  9327. bits (samples) per second is at most twice the bandwidth in Hertz of
  9328. an analog signal created from a square wave. In a covert-channel
  9329. context "bandwidth" is given in bits/second rather than Hertz and is
  9330. commonly used, in an abuse of terminology, as a synonym for
  9331. information rate.
  9332.  
  9333. Bell-La Padula Security Model - Any formal state-transition model of a
  9334. technical security policy for an AIS that pre- sents (a) Access
  9335. Constraints (including initial-state constraints and variants or the
  9336. simple security and star properties), (b) allowed state transitions
  9337. (called "rules of operation"), and (c) a proof that the allowed state
  9338. transitions guarantee satisfaction of the con- straints.
  9339.  
  9340. Category - Restrictive label that has been applied to both classified
  9341. and unclassified data, thereby increasing the requirement for
  9342. protection of, and restricting the ac- cess to, the data. [NSTISSI
  9343. 4009]
  9344.  
  9345.           Note: Examples include sensitive compartmented information and
  9346. proprietary information.  Individuals are granted access to special
  9347. category information only after being granted formal access
  9348. authorization.
  9349.  
  9350. Certification - Comprehensive evaluation of the technical and
  9351. nontechnical security features of an AIS and other safe- guards, made
  9352. in support of the accreditation process, to establish the extent to
  9353. which a particular design and im- plementation meets a set of
  9354. specified security require- ments. [NSTISSI 4009]
  9355.  
  9356. Channel Capacity - Maximum possible error-free rate, measured in bits
  9357. per second, at which information can be sent along a communications
  9358. path.
  9359.  
  9360. Clear-text - Intelligible data, the semantic content of which is
  9361. available. [ISO]
  9362.  
  9363. Confidentiality - Assurance that information is not disclosed to
  9364. inappropriate entities or processes.
  9365.  
  9366. Configuration - Selection of one of the sets of possible com-
  9367. binations of features of a system. [ITSEC]
  9368.  
  9369. Consumers - Individuals or groups responsible for specifying
  9370. requirements for IT product security (e.g., policy mak- ers and
  9371. regulatory officials, system architects, inte- grators, acquisition
  9372. managers, product purchasers, and end users.
  9373.  
  9374. Control Objective - Required result of protecting information within
  9375. an IT product and its immediate environment.
  9376.  
  9377. Countermeasure - Action, device, procedure, technique, or other
  9378. measure that reduces the vulnerability of an AIS.  [NSTISSI 4009]
  9379.  
  9380. Covert Channel - Unintended and/or unauthorized communica- tions path
  9381. that can be used to transfer information in a manner that violates an
  9382. AIS security policy. (See overt channel and exploitable channel.)
  9383. [NSTISSI 4009]
  9384.  
  9385. Covert Storage Channel - Covert channel that involves the di- rect or
  9386. indirect writing to a storage location by one process and the direct
  9387. or indirect reading of the storage location by another process.
  9388. [NSTISSI 4009]
  9389.  
  9390.           Note: Covert storage channels typically involve a finite
  9391. resource (e.g., sectors on a disk) that is shared by two subjects at
  9392. different security levels.
  9393.  
  9394. Covert Timing Channel - Covert channel in which one process signals
  9395. information to another process by modulating its own use of system
  9396. resources (e.g., central processing unit time) in such a way that this
  9397. manipulation affects the real response time observed by the second
  9398. process.  [NSTISSI 4009]
  9399.  
  9400. Decomposition - Requirement in a protection profile that spans several
  9401. components.
  9402.  
  9403.           Note: The decomposition of a specific requirement becomes
  9404. necessary when that requirement must be assigned to multiple
  9405. components of the generic product requirements during the
  9406. interpretation process.
  9407.  
  9408. Definition - an informal statement expressing the essential
  9409. characteristics of one or more facts.
  9410.  
  9411. Demonstration - an act or process of producing conclusive evidence for
  9412. one or more facts. (A demonstration is more rigorous than an
  9413. explanation and less rigorous than a proof).
  9414.  
  9415. Dependency - Condition in which the correctness of one or more
  9416. functions (or assurances) is contingent (depends for its correctness)
  9417. on the correctness of another function(s) (or assurances). Notion also
  9418. used in describing the re- lationships among TCB subsets
  9419. [NCSC-TG-021]. A TCB sub- set A depends for its correctness on TCB
  9420. subset B if and only if the (engineering) arguments of the correct im-
  9421. plementation of A with respect to its specification as- sume, wholly
  9422. or in part, that the specification of B has been implemented
  9423. correctly.
  9424.  
  9425. Description - an enumeration of facts and their characteris- tics.
  9426.  
  9427. Designated Approving Authority (DAA) - Official with the au- thority
  9428. to formally assume responsibility for operating an IT product, an AIS,
  9429. or network at an acceptable level of risk.
  9430.  
  9431. Development Assurance - Sources of IT product assurance rang- ing from
  9432. how a product was designed and implemented to how it is tested,
  9433. operated and maintained.
  9434.  
  9435. Development Assurance Component - Fundamental building block,
  9436. specifying how an IT product is developed, from which de- velopment
  9437. assurance requirements are assembled.
  9438.  
  9439. Development Assurance Package - Grouping of development as- surance
  9440. components assembled to ease specification and common understanding of
  9441. how an IT product is developed.
  9442.  
  9443. Development Assurance Requirements - Requirements in a pro- tection
  9444. profile which address how each conforming IT product is developed
  9445. including the production of appro- priate supporting developmental
  9446. process evidence and how that product will be maintained.
  9447.  
  9448. Discretionary Access Control - Methods of restricting access to
  9449. objects or other resources based primarily on the in- structions of
  9450. arbitrary unprivileged users.
  9451.  
  9452. Domain - Unique context (e.g., access control parameters) in which a
  9453. program is operating.
  9454.  
  9455.           Note: A subject's domain determines which access- control
  9456. attributes an object must have for a subject operating in that domain
  9457. to have a designated form of access.
  9458.  
  9459. Encapsulated Object -A data structure whose existence is known, but
  9460. whose internal organization is not accessi- ble, except by invoking
  9461. the encapsulated subsystem that manages it.
  9462.  
  9463. Encapsulated Subsystem -A collection of procedures and data objects
  9464. that is protected in a domain of its own so that the internal
  9465. structure of a data object is accessible only to the procedures of the
  9466. encapsulated subsystem that the procedures may be called only at
  9467. designated domain entry points. Encapsulated subsystem, protected sub-
  9468. system, and protected mechanisms of the TCB are terms that may be used
  9469. interchangeably.
  9470.  
  9471. Environment - All entities (users, procedures, conditions, objects,
  9472. AISs, other IT products) that interact with (af- fect the development,
  9473. operation and maintenance of) that IT product.
  9474.  
  9475. Evaluation - Technical assessment of a component's, prod- uct's,
  9476. subsystem's, or system's security properties that establishes whether
  9477. or not the component, product, sub- system, or system meets a specific
  9478. set of requirements.
  9479.  
  9480.           Note: Evaluation is a term that causes much confusion in the
  9481. security community, because it is used in many different ways. It is
  9482. sometimes used in the general English sense (judgement or
  9483. determination of worth or quality). Based on common usage of the term
  9484. in the security community, one can distinguish between two types of
  9485. evaluation: (1) evaluations that exclude the environment, and (2)
  9486. evaluations that include the environment. This second type of
  9487. evaluation, an assessment of a system's security properties with
  9488. respect to a specific operational mission, is termed certification
  9489. within this document. Evaluations that exclude the environment, the
  9490. type of evaluations considered herein, are assessments of the security
  9491. properties against a defined criteria.
  9492.  
  9493. Evaluation Assurance - Source of IT product assurance based on the
  9494. kind and intensity of the evaluation analysis per- formed on the
  9495. product.
  9496.  
  9497. Evaluation Assurance Component - Fundamental building block,
  9498. specifying the type and the rigor of required evaluation activities,
  9499. from which evaluation assurance requirements are assembled.
  9500.  
  9501. Evaluation Assurance Package - Grouping of evaluation assur- ance
  9502. components assembled to ease specification and com- mon understanding
  9503. of the type and the rigor of required evaluation activities.
  9504.  
  9505. Evaluation Assurance Requirements - Requirements in a protec- tion
  9506. profile which address both the type and the rigor of activities that
  9507. must occur during product evaluation.
  9508.  
  9509. Evaluators - Individuals or groups responsible for the inde- pendent
  9510. assessment of IT product security (e.g., product evaluators, system
  9511. security officers, system certifiers, and system accreditors).
  9512.  
  9513. Explanation - a description and its justification; an enumer- ation of
  9514. facts, their characteristics, and their cause or reason. (An
  9515. explanation is less rigorous than both a demonstration and a proof.)
  9516.  
  9517. Exploitable Channel - Covert channel that is usable or detect- able by
  9518. subjects external to the AIS's trusted computing base and can be used
  9519. to violate the AIS's technical se- curity policy. (See covert
  9520. channel.)
  9521.  
  9522. External Security Controls - Measures which include physical,
  9523. personnel, procedural, and administrative security re- quirements and
  9524. a separate certification and accredita- tion process that govern
  9525. physical access to an IT product.
  9526.  
  9527.           Note: These measures constitute assumptions and boundary
  9528. conditions that are part of the environment described in a protection
  9529. profile.
  9530.  
  9531. Flaw - Error of commission, omission, or oversight in an IT product
  9532. that may allow protection mechanisms to be by- passed.
  9533.  
  9534. Formal Security Policy Model - Mathematically precise state- ment
  9535. consisting of (a) a formal technical security policy (given by
  9536. constraints on a Product's external interface and/or constraints on
  9537. the handling of controlled enti- ties internal to the Product), (b)
  9538. rules of operation that show how the definition of security is to be
  9539. en- forced, and (c) a formal proof showing that the rules of operation
  9540. guarantee satisfaction of the definition of security. [NCSC-TG-010]
  9541.  
  9542. Formal Specification - Statement about a product made using the
  9543. restricted syntax and grammar of a formal reasoning system and a set
  9544. of terms that have been precisely and uniquely defined of specified.
  9545.  
  9546.           Note: The formal statement should be augmented by an informal
  9547. explanation of the conventions used and the ideas being expressed. A
  9548. well-formed syntax and semantics with complete specification of all
  9549. constructs used must be referenced.
  9550.  
  9551. Functional Component - Fundamental building block, specifying what an
  9552. IT product must be capable of doing, from which functional protection
  9553. requirements are assembled.
  9554.  
  9555. Functional Package - Grouping of functional components assem- bled to
  9556. ease specification and common understanding of what an IT product is
  9557. capable of doing.
  9558.  
  9559. Functional Protection Requirements - Requirements in a pro- tection
  9560. profile which address what conforming IT prod- ucts must be capable of
  9561. doing.
  9562.  
  9563. Functionality - Set of functional protection requirements to be
  9564. implemented in IT products.
  9565.  
  9566. Generic Threat - Class of threats with common characteristics
  9567. pertaining to vulnerabilities, agents, event sequences, and resulting
  9568. misfortunes.
  9569.  
  9570. Granularity - Relative fineness or coarseness to which an ac- cess
  9571. control mechanism or other IT product aspect can be adjusted.
  9572.  
  9573.           Note: Protection at the file level is considered course
  9574. granularity, whereas protection at the field level is considered to be
  9575. finer granularity.
  9576.  
  9577. Granularity of a Requirement - Determination of whether a re-
  9578. quirement applies to all the attributes of users, sub- jects or
  9579. objects, and all TCB functional components.
  9580.  
  9581. Group - Named collection of user identifiers.
  9582.  
  9583. Identification - Process that enables recognition of an entity by an
  9584. IT product.
  9585.  
  9586. Informal Specification - Statement about (the properties of) a product
  9587. made using the grammar, syntax, and common def- initions of a natural
  9588. language (e.g., English).
  9589.  
  9590.           Note: While no notational restrictions apply, the informal
  9591. specification is also required to provide defined meanings for terms
  9592. which are used in a context other than that accepted by normal usage.
  9593.  
  9594. Information Protection Policy - Set of laws, rules, and prac- tices
  9595. that regulate how an IT product will, within spec- ified limits,
  9596. counter threats expected in the product's assumed operational
  9597. environment.
  9598.  
  9599. Internal Security Controls - Mechanisms implemented in the hardware,
  9600. firmware, and software of an IT product which provide protection for
  9601. the IT product.
  9602.  
  9603. Integrity - Correctness and appropriateness of the content and/or
  9604. source of a piece of information.
  9605.  
  9606. Least Privilege - Principle that requires that each subject be granted
  9607. the most restrictive set of privileges needed for the performance of
  9608. authorized tasks. [NSTISSI 4009]
  9609.  
  9610.           Note: Application of this principle limits the damage that can
  9611. result from accident, error, or unauthorized use of an AIS.
  9612.  
  9613. Mandatory Access Control - Means of restricting access to ob- jects
  9614. based on the sensitivity (as represented by a la- bel) of the
  9615. information contained in the objects and the formal authorization
  9616. (i.e., clearance) of subjects to access information of such
  9617. sensitivity. (See non-discre- tionary access control.)
  9618.  
  9619. Mechanism - Operating system entry point or separate operating system
  9620. support program that performs a specific action or related group of
  9621. actions.
  9622.  
  9623. Need-to-know - Access to, or knowledge or possession of, spe- cific
  9624. information required to carry out official duties.  [NSTISSI 4009]
  9625.  
  9626. Non-Discretionary Access Control - Means of restricting ac- cess to
  9627. objects based largely on administrative actions.
  9628.  
  9629. Normal Operation - Process of using a system. [ITSEC]
  9630.  
  9631. Object - Controlled entity that precisely gives or receives
  9632. information in response to access attempts by another (active) entity.
  9633.  
  9634.           Note: Access to an object implies access to the information
  9635. contained in that object. Examples of objects include: subjects,
  9636. records, blocks, pages, segments, files, directories, directory trees
  9637. and programs, as well as bits, bytes, words, fields, processors, I/O
  9638. devices, video displays, keyboards, clocks, printers, and network
  9639. nodes.
  9640.  
  9641. Object Encapsulation - viz., encapsulated object.
  9642.  
  9643. Organizational Security Policy - Set of laws, rules, and prac- tices
  9644. that regulate how an organization manages, pro- tects, and distributes
  9645. sensitive information.
  9646.  
  9647. Overt Channel - Communications path within a computer system or
  9648. network that is designed for the authorized transfer of data. (See
  9649. covert channel) [NSTISSI 4009]
  9650.  
  9651. Owner - User granted privileges with respect to security at- tributes
  9652. and privileges affecting specific subjects and objects.
  9653.  
  9654. Password - Protected/private character string used to authen- ticate
  9655. an identity or to authorize access to data.  [NSTISSI 4009]
  9656.  
  9657. Penetration Testing - Security testing in which evaluators at- tempt
  9658. to circumvent the security features of an AIS based on their
  9659. understanding of the system design and imple- mentation. [NSTISSI
  9660. 4009]
  9661.  
  9662. Primitive - Orderly relation between TCB subsets based on de-
  9663. pendency. [NCSC-TG-021]
  9664.  
  9665.           Note: A TCB subset B is more primitive than a second TCB
  9666. subset A (and A is less primitive than B) if A directly depends on B
  9667. or a chain of TCB subsets from A to B exists such that each element of
  9668. the chain directly depends on its successor in the chain.
  9669.  
  9670. Privilege - Special authorization that is granted to partic- ular
  9671. users to perform security relevant operations.
  9672.  
  9673. Process - A program in execution on a processor which repre- sents a
  9674. scheduling and accounting (and sometimes a con- currency and recovery)
  9675. entity in a computer system.
  9676.  
  9677. Producers - Providers of IT product security (e.g., product vendors,
  9678. product developers, security analysts, and val- ue-added resellers).
  9679.  
  9680. Product - Package of IT software and/or hardware designed to perform a
  9681. specific function either stand alone or once incorporated into an IT
  9682. system.
  9683.  
  9684. Product Rationale - Overall justification; including antici- pated
  9685. threats, objectives for product functionality and assurance, technical
  9686. security policy, and assumptions about the environments and uses of
  9687. conforming products; for the protection profile and its resulting IT
  9688. product.
  9689.  
  9690. Profile - Detailed security description of the physical struc- ture,
  9691. equipment component, location, relationships, and general operating
  9692. environment of an IT product or AIS.  (See Protection Profile.)
  9693.  
  9694. Profile Assurance - Measure of confidence in the technical soundness
  9695. of a protection profile.
  9696.  
  9697. Proprietary Information - Information that is owned by a pri- vate
  9698. enterprise and whose use and/or distribution is re- stricted by that
  9699. enterprise.
  9700.  
  9701.           Note: Proprietary information may be related to the company's
  9702. products, business, or activities, including but not limited to:
  9703. financial information, data or statements; trade secrets; product
  9704. research and development information; existing and future product
  9705. designs and performance specifications; marketing plans or techniques;
  9706. schematics; client lists; computer programs; processes; and trade
  9707. secrets or other company confidential information.
  9708.  
  9709. Protected Mechanism - See encapsulated subsystem.
  9710.  
  9711. Protection Philosophy - Informal description of the overall design of
  9712. an IT product that shows how each of the sup- ported control
  9713. objectives is dealt with.
  9714.  
  9715. Protection Profile - Statement of security criteria; shared by IT
  9716. product producers, consumers, and evaluators; built from functional,
  9717. development assurance, and eval- uation assurance requirements; to
  9718. meet identified secu- rity needs through the development of conforming
  9719. IT products.
  9720.  
  9721. Protection Profile Family - Two or more protection profiles with
  9722. similar functional requirements and rationale sec- tions but with
  9723. different assurance requirements.
  9724.  
  9725. Proof - the process of establishing the validity of one or more
  9726. statements; the process of establishing a the truth of a fact. (A
  9727. proof is more rigorous than both a demon- stration and an
  9728. explanation.)
  9729.  
  9730. Prove a Correspondence - Provide a formal correspondence, us- ing a
  9731. formal reasoning system (e.g., typed lambda calcu- lus) between the
  9732. levels of abstraction.
  9733.  
  9734.           Note: This involves proving that required properties continue
  9735. to hold under the interpretation given in the formal correspondence.
  9736.  
  9737. Reference Monitor - Access mediation concept that refers to an
  9738. abstract machine that mediates all accesses to objects by subjects.
  9739.  
  9740. Reference Validation Mechanism - Portion of a trusted comput- ing
  9741. base, the normal function of which is to mediate ac- cess between
  9742. subjects and objects, and the correct operation of which is essential
  9743. to the protection of data in the system.
  9744.  
  9745.           Note: This is the implementation of reference monitor.
  9746.  
  9747. Refinements - Requirement in a protection profile taken to a lower
  9748. level of abstraction than the component on which it is based.
  9749.  
  9750.           Note: The refinement of a component requirement is necessary
  9751. when multiple environment-specific requirements must be assigned to a
  9752. single component requirement.
  9753.  
  9754. Requirements - Phase of the Development Process wherein the top level
  9755. definition of the functionality of the system is produced.
  9756.  
  9757. Residual Risk - Portion of risk that remains after security measures
  9758. have been applied. [NSTISSI 4009]
  9759.  
  9760. Resource - Anything used or consumed while performing a func- tion.
  9761.  
  9762.           Note: The categories of resources include: time, information,
  9763. objects (information containers), or processors (the ability to use
  9764. information) Specific examples include: CPU time; terminal connect
  9765. time; amount of directly-addressable memory; disk space; and number of
  9766. I/O requests per minute.
  9767.  
  9768. Risk - The expected loss due to, or impact of, anticipated threats in
  9769. light of system vulnerabilities and strength or determination of
  9770. relevant threat agents.
  9771.  
  9772. Role - A distinct set of operations (actions) performed on
  9773. encapsulated data objects.
  9774.  
  9775. Scope of a Requirement - Determination of whether a require- ment
  9776. applies to: all users, subjects and objects of the TCB; all the TCB
  9777. commands and application programming in- terfaces, to all TCB
  9778. elements; all configurations, or only a defined subset of
  9779. configurations.
  9780.  
  9781. Security - The combination of confidentiality, integrity and
  9782. availability. [ITSEC]
  9783.  
  9784. Security kernel - An encapsulation of key security-relevant portions
  9785. of an operating system that prevent unautho- rized subject access to
  9786. objects.
  9787.  
  9788. Security Audit Trail - Set of records that collectively pro- vide
  9789. documentary evidence of processing used to aid in tracing from
  9790. original transactions forward to related records and reports, and/or
  9791. backwards from records and reports to their component source
  9792. transactions. [TCSEC]
  9793.  
  9794. Security Relevant Event - Any event that attempts to change the
  9795. security state of the system (e.g., change access controls, change the
  9796. security level of a user, change a user password). Also, any event
  9797. that attempts to violate the security policy of the system (e.g., too
  9798. many logon attempts). [TCSEC]
  9799.  
  9800. Security Target - Product-specific description, elaborating the more
  9801. general requirements in a protection profile and including all
  9802. evidence generated by the producers, of how a specific IT product
  9803. meets the security requirements of a given protection profile.
  9804.  
  9805. Shall - Indication that a requirement must be met unless a
  9806. justification of why it cannot be met is given and ac- cepted.
  9807.  
  9808. Should - Indication of an objective requirement that requires less
  9809. justification for non-conformance and should be more readily approved.
  9810.  
  9811.           Note: Should is often used when a specific requirement is not
  9812. feasible in some situations or with common current technology.
  9813.  
  9814. Simple Security Property - An invariant state property allow- ing a
  9815. subject read access to an object only if the secu- rity level of the
  9816. subject dominates the security level of the object.
  9817.  
  9818. Specification - one or more detailed, precise statement(s) expressing
  9819. the essential characteristics of one or more facts.
  9820.  
  9821. Star (*) Property - An invariant state property allowing a subject
  9822. write access to an object only if the security level of the object
  9823. dominates the security level of the subject.
  9824.  
  9825. State - Give required information with no attempt or implied
  9826. requirement, to justify the information presented.
  9827.  
  9828. Strength of a Requirement - Definition of the conditions under which a
  9829. functional component withstands a defined attack or tolerates
  9830. failures.
  9831.  
  9832. Subject - Active entity in an IT product or AIS, generally in the form
  9833. of a process or device, that causes information to flow among objects
  9834. or changes the system state.
  9835.  
  9836. System - IT products assembled together; either directly or with
  9837. additional computer hardware, software, and/or firmware; configured to
  9838. perform a particular function within a particular operational
  9839. environment.
  9840.  
  9841. System Entry - Mechanism by which an identified and authenti- cated
  9842. user is provided access into the system.
  9843.  
  9844. TCB Subset - Set of software, firmware, and hardware (where any of
  9845. these three could be absent) that mediates the access of a set S of
  9846. subjects to a set O of objects on the basis of a stated access
  9847. mediation policy P and sat- isfies the properties:
  9848.  
  9849.           (1) M mediates every access to objects in O by subjects in S;
  9850.  
  9851.           (2) M is tamper resistant; and
  9852.  
  9853.           (3) M is small enough to be subject to analysis and tests, the
  9854. completeness of which can be assured.
  9855.  
  9856. Technical Policy - Set of rules regulating access of subjects to
  9857. objects enforced by a TCB subset. [NCSC-TG-021]
  9858.  
  9859. Technical Security Policy - Specific protection conditions and /or
  9860. protection philosophy that express the bound- aries and
  9861. responsibilities of the IT product in support- ing the information
  9862. protection policy control objectives and countering expected threats.
  9863.  
  9864. Threat - Sequence of circumstances and events that allows a (human or
  9865. other) agent to cause an information-related misfortune by exploiting
  9866. a vulnerability in an IT prod- uct.
  9867.  
  9868. Trace a Correspondence - Explain a correspondence, using nat- ural
  9869. language prose, between levels of abstraction.
  9870.  
  9871. Transaction - Set of subject actions and their associated data storage
  9872. accesses.
  9873.  
  9874. Trap Door - Hidden software or hardware mechanism that can be
  9875. triggered to permit protection mechanisms in an automat- ed
  9876. information system to be circumvented. [NSTISSI 4009]
  9877.  
  9878.           Note: A trap door is usually activated in some
  9879. innocent-appearing manner (e.g., a special random key sequence at a
  9880. terminal). Software developers often write trap doors in their code
  9881. that enable them to reenter the system to perform certain functions.
  9882.  
  9883. Trojan Horse - Computer program containing an apparent or ac- tual
  9884. useful function that contains additional (hidden) functions that allow
  9885. unauthorized collection, falsifica- tion or destruction of data.
  9886. [NSTISSI 4009]
  9887.  
  9888. Trusted Computing Base (TCB) - Totality of protection mecha- nisms
  9889. within an IT product, including hardware, firm- ware, software and
  9890. data, the combination of which is responsible for enforcing a
  9891. technical security policy.
  9892.  
  9893.           Note: The ability of an organization to achieve an
  9894. organizational security policy depends jointly on the correctness of
  9895. the mechanisms within the TCB, the protection of those mechanisms to
  9896. ensure their correctness, and on adherence to associated usage
  9897. security policies by authorized users.
  9898.  
  9899. Trusted Path - Mechanism by which a person using a terminal can
  9900. communicate directly with the TCB. [NSTISSI 4009]
  9901.  
  9902.           Note: Trusted path can only be activated by the person or the
  9903. TCB and cannot be imitated by untrusted software.
  9904.  
  9905. Usage Security Policy - Assumptions regarding the expected en-
  9906. vironment and intended method of IT product use.
  9907.  
  9908. User - Person or process accessing an IT product by direct connections
  9909. (e.g., via terminals) or indirect connec- tions; an individual who is
  9910. accountable for some identi- fiable set of activities in a computer
  9911. system.
  9912.  
  9913.           Note: Indirect connection relates to persons who prepare input
  9914. data or receive output that is not reviewed for content or
  9915. classification by a responsible individual.
  9916.  
  9917. User Identifier (User ID)- Unique symbol or character string that is
  9918. used by an IT product to uniquely identify a spe- cific user.
  9919.  
  9920. Virus - Self replicating, malicious program segment that at- taches
  9921. itself to an application or other executable sys- tem component and
  9922. leaves no external signs of its presence. [NSTISSI 4009]
  9923.  
  9924. Vulnerability - Weakness in an information system or compo- nents
  9925. (e.g., system security procedures, hardware de- sign, internal
  9926. controls) that could be exploited to produce an information-related
  9927. misfortune.  
  9928.  
  9929. Appendix A.
  9930.  
  9931. THREATS TO INFORMATION
  9932.  
  9933. Table 4 provides a description of common threat agents that may impact
  9934. on a potential IT product (Courtney, 1991). Tables 5, 6, and 7 provide
  9935. common threat actions for confidentiality, integrity and availability
  9936. that may occur within the environment of an IT product (Neumann,
  9937. 1989). A successful threat scenario may include several threat actions
  9938. in succession. The collective information in these tables also
  9939. includes vulnerabilities, attacks, methods, and risks.
  9940.  
  9941.                        Table 4. Common Threat Agents
  9942. .--------------------------------------------------------------------------.
  9943. | Well-Meaning People         | Custodians, guards, users, system          |
  9944. | in the Organization         | operators, security administrators         |
  9945. |-----------------------------+--------------------------------------------|
  9946. | Other People in the         | Greedy employees, disgruntled employees,   |
  9947. | Organization                | inside terrorists, intelligence agents     |
  9948. |-----------------------------+--------------------------------------------|
  9949. | Inanimate Agents            | Routine water damage (e.g., from leaking   |
  9950. |                             | pipes), power surges and failures (e.g.,   |
  9951. |                             | from electrical storms), physical          |
  9952. |                             | calamities (e.g., from fires, floods,      |
  9953. |                             | civil unrest), hardware failure within the |
  9954. |                             | IT product, malfunctioning external        |
  9955. |                             | devices and systems, disabled external     |
  9956. |                             | devices and systems                        |
  9957. |-----------------------------+--------------------------------------------|
  9958. | People Outside the          | Hackers, hostile intelligence agents,      |
  9959. | Organization                | terrorists, ex-employees                   |
  9960. `--------------------------------------------------------------------------'
  9961.  
  9962.  
  9963.  
  9964.  Table 5. Inappropriate Disclosure Threats (Confidentiality Violations)
  9965. .--------------------------------------------------------------------------.
  9966. | Passive Observation         | Exposure (e.g., via system malfunctions)   |
  9967. |                             | Scavenging (e.g., dumpster diving)         |
  9968. |                             | Eavesdropping (e.g., on video displays)    |
  9969. |                             | Wiretapping                                |
  9970. |                             | Traffic analysis                           |
  9971. |                             | Analysis of IT Product emanations          |
  9972. |                             | Other forms of signals intelligence        |
  9973. |-----------------------------+--------------------------------------------|
  9974. | Hardware Attacks            | Theft of physical media                    |
  9975. |                             | Physical trespass and observation          |
  9976. |                             | Implanting eavesdropping devices           |
  9977. |                             | Disarming controls (e.g., via routine      |
  9978. |                             |  maintenance)                              |
  9979. |-----------------------------+--------------------------------------------|
  9980. | Masquerade                  | Individuals that impersonate (e.g., via    |
  9981. |                             |  password guessing)                        |
  9982. |                             | Processes that impersonate (e.g., Trojan   |
  9983. |                             |  horses)                                   |
  9984. |-----------------------------+--------------------------------------------|
  9985. | Misuse of Authority         | Deliberate disclosure                      |
  9986. |                             | Misuse of administrative privilege         |
  9987. |                             |  o Modification of access control          |
  9988. |                             |    attributes                              |
  9989. |                             |  o Editing of password files               |
  9990. |                             | Exploiting inference and aggregation       |
  9991. |                             |  vulnerabilities (e.g., reverse            |
  9992. |                             |  engineering)                              |
  9993. |                             | Exploiting product vulnerabilities         |
  9994. |                             |  o Exploiting covert channels              |
  9995. |                             |  o Inadequate authentication               |
  9996. |                             |  o Trap doors that bypass system checks    |
  9997. |                             |  o Improper initialization or recovery     |
  9998. |                             |  o Faulty reuse of objects or devices      |
  9999. |                             |  o Inadequate argument validation          |
  10000. |                             |  o Miscellaneous logic errors              |
  10001. |                             |  o Hardware flaws                          |
  10002. |                             | Browsing, searching for exploitable        |
  10003. |                             |  patterns                                  |
  10004. |                             | Willful neglect and other errors of        |
  10005. |                             |  omission                                  |
  10006. |                             |  o Failing to log out when leaving a       |
  10007. |                             |    workstation                             |
  10008. |                             | Preparation for misuse                     |
  10009. |                             |  o Code-breaking efforts                   |
  10010. |                             |  o Off-line password guessing              |
  10011. |                             |  o Autodialer scanning                     |
  10012. |                             |  o Creating, planting, and arming malicious|
  10013. |                             |    software                                |
  10014. `--------------------------------------------------------------------------'
  10015.  
  10016.  
  10017.  Table 6. Fault-and-Error Threats (Integrity Violations)
  10018. .--------------------------------------------------------------------------.
  10019. | Hardware Attacks            | Implanting malicious hardware              |
  10020. |                             | Disarming hardware controls                |
  10021. |                             | Malfunctioning hardware (via aging,        |
  10022. |                             |  routine maintenance)                      |
  10023. |-----------------------------+--------------------------------------------|
  10024. | Masquerade                  | Individuals that impersonate (e.g., via    |
  10025. |                             |  password guessing)                        |
  10026. |                             | Processes that impersonate (e.g., Trojan   |
  10027. |                             |  horses)                                   |
  10028. |-----------------------------+--------------------------------------------|
  10029. | Deception of users and      |                                            |
  10030. | operators                   |                                            |
  10031. |-----------------------------+--------------------------------------------|
  10032. | Misuse of Authority         | Deliberate falsification via data entry or |
  10033. |                             |  modification                              |
  10034. |                             | Repudiation (falsely denying origin or     |
  10035. |                             |  receipt of information)                   |
  10036. |                             | Misuse of administrative privilege         |
  10037. |                             |  o Modification of access control          |
  10038. |                             |    attributes                              |
  10039. |                             |  o Editing of password files               |
  10040. |                             | Exploiting inference and aggregation       |
  10041. |                             |  vulnerabilities (e.g., reverse            |
  10042. |                             |  engineering)                              |
  10043. |                             | Deliberate compounding of small errors     |
  10044. |                             | Exploiting product vulnerabilities         |
  10045. |                             |  o Exploiting covert channels              |
  10046. |                             |  o Inadequate authentication               |
  10047. |                             |  o Trap doors that bypass system checks    |
  10048. |                             |  o Improper initialization or recovery     |
  10049. |                             |  o Faulty reuse of objects or devices      |
  10050. |                             |  o Inadequate argument validation          |
  10051. |                             |  o Miscellaneous logic errors              |
  10052. |                             |  o Hardware flaws                          |
  10053. |                             | Willful neglect and other errors of        |
  10054. |                             |  omission                                  |
  10055. |                             |  o Failing to log out when leaving a       |
  10056. |                             |    workstation                             |
  10057. |                             | Preparation for misuse                     |
  10058. |                             |  o Code-breaking efforts                   |
  10059. |                             |  o Off-line password guessing              |
  10060. |                             |  o Autodialer scanning                     |
  10061. |                             |  o Creating, planting, and arming          |
  10062. |                             |    malicious software                      |
  10063. |-----------------------------+--------------------------------------------|
  10064. | Lack of adequate competence | Accidental falsification via data entry or |
  10065. |                             |  modification                              |
  10066. |                             | Installing flawed application software     |
  10067. |                             | Misapplication of software                 |
  10068. |                             |  o Application to wrong data               |
  10069. |                             |  o Miscommunication of inputs              |
  10070. |                             |  o Improper runtime environment            |
  10071. `--------------------------------------------------------------------------'
  10072.  
  10073.  
  10074.  Table 7. Loss-of-Service Threats (Availability Violations)
  10075. .--------------------------------------------------------------------------.
  10076. | Inherent system inadequacies| Inadequate deadlock avoidance              |
  10077. |                             | Inadequate response to transient errors    |
  10078. |-----------------------------+--------------------------------------------|
  10079. | Hardware threats            | Deliberate hardware modification           |
  10080. |                             |  o Disabling critical components           |
  10081. |                             |  o Shutting off system or power supply     |
  10082. |                             |  o Implanting self-destruct devices        |
  10083. |                             | Inadvertent hardware modification          |
  10084. |                             |  o Normal aging                            |
  10085. |                             |  o Routine maintenance                     |
  10086. |                             |  o Accidental damage (e.g., water damage)  |
  10087. |                             | Interference (e.g., electronic jamming,    |
  10088. |                             |  cosmic rays)                              |
  10089. |-----------------------------+--------------------------------------------|
  10090. | Usage threats               | Deliberate denial of service               |
  10091. |                             | Misuse of administrative privilege         |
  10092. |                             |  o Modification of access control          |
  10093. |                             |    attributes                              |
  10094. |                             |  o Editing of password files               |
  10095. |                             | Exploiting product vulnerabilities         |
  10096. |                             |  o Exploiting covert channels              |
  10097. |                             |  o Inadequate authentication               |
  10098. |                             |  o Trap doors that bypass system checks    |
  10099. |                             |  o Improper initialization or recovery     |
  10100. |                             |  o Faulty reuse of objects or devices      |
  10101. |                             |  o Inadequate argument validation          |
  10102. |                             |  o Miscellaneous logic errors              |
  10103. |                             |  o Hardware flaws                          |
  10104. |                             | Excessive usage via masquerading           |
  10105. |                             |  o Individuals that impersonate (e.g., via |
  10106. |                             |    password guessing)                      |
  10107. |                             |  o Processes that impersonate (e.g.,       |
  10108. |                             |    Trojan horses)                          |
  10109. |                             | Creating, planting, and arming malicious   |
  10110. |                             |  software                                  |
  10111. |                             | Willful neglect and other errors of        |
  10112. |                             |  omission                                  |
  10113. |                             | Failure to order necessary supplies        |
  10114. |                             | Failure to perform routine maintenance     |
  10115. |                             | Administrative actions                     |
  10116. |                             | System shutdown                            |
  10117. |                             | Disabling user accounts                    |
  10118. |                             | Incorrect setting of security attributes   |
  10119. |                             | Accidental deletion of critical data       |
  10120. |                             | Overload                                   |
  10121. |                             | Normal excess usage                        |
  10122. |                             | Runaway programs                           |
  10123. |                             | Personal use of organization computers     |
  10124. `--------------------------------------------------------------------------'
  10125.  
  10126.  
  10127.  
  10128. Bibliographic References
  10129.  
  10130. [Courtney, 1991] Courtney R.H., "A Proposed Information Security
  10131. Program for the NIST for Consideration by the Computer Systems
  10132. Security and Privacy Advisory Board", June 12, 1991.
  10133.  
  10134. [Neumann, 1989] Neumann P.G. and Parker D.B., "A Survey of Computer
  10135. Abuse Techniques", Proceedings of the 12th National Computer Security
  10136. Conference, pages 396-407, October 1989.  
  10137.  
  10138. Appendix B.
  10139.  
  10140. THE REFERENCE MONITOR CONCEPT
  10141.  
  10142. The concept of the reference monitor, "which enforces the authorized
  10143. access relationships between subjects and objects of a system," was
  10144. introduced by the Computer Security Technology Planning Study,
  10145. conducted by James P. Anderson & Co., in October of 1972. The
  10146. reference monitor concept was found to be an essential element of any
  10147. product that must demonstrably implement an access control policy. The
  10148. Anderson report listed three design requirements of the reference
  10149. validation mechanism, which is "an implementation of the reference
  10150. monitor concept that validates each reference to data or programs by
  10151. any user (program) against a list of authorized types of reference for
  10152. that user." These requirements are:
  10153.  
  10154. a.        The reference validation mechanism must be tamperproof.
  10155.  
  10156. b.        The reference validation mechanism must always be invoked.
  10157.  
  10158. c.        The reference validation mechanism must be small enough to be
  10159. subject to analysis and tests, the completeness of which can be
  10160. assured.
  10161.  
  10162. Early examples of the reference validation mechanism were known as
  10163. security kernels. Security kernels typically support the three
  10164. reference monitor requirements listed above.  However, most
  10165. commercially available systems do not implement reference validation
  10166. mechanisms (e.g., security kernels) largely because their design and
  10167. implementation do not fully satisfy requirement (c). General-purpose
  10168. systems do not support security kernels, and their TCB generally
  10169. includes key elements of the operating system and may include all of
  10170. the operating system. In embedded systems, the security policy may
  10171. deal with objects in a way that is meaningful at the application level
  10172. rather than at the operating system level.  Thus, the protection
  10173. policy may be enforced in the application software rather than in the
  10174. underlying operating system. The TCB will necessarily include all
  10175. those portions of the operating system and application software
  10176. essential to the support of the policy.
  10177.  
  10178. Note that, as the amount of code in the TCB increases, it becomes
  10179. harder to be confident that the TCB enforces the reference monitor
  10180. requirements under all circumstances. This suggests that, to
  10181. demonstrably satisfy requirement (c) of the reference validation
  10182. mechanism, the selection of functions to be designed within the
  10183. product must be governed by the ability to completely analyze and test
  10184. the reference validation mechanism. If use of state-of-the-art formal
  10185. methods are required for complete analysis and test of a product, the
  10186. product functions that become part of the reference validation
  10187. mechanism will, by necessity, be limited in scope. For example,
  10188. functions that support a wide selection of devices and access methods
  10189. may not be supported. Also, access-control functions whose design
  10190. and/or implementation by the reference validation mechanism are not,
  10191. or cannot be, completely analyzed may limit the degree of assurance
  10192. that can be obtained. Thus, requirement (c) establishes a dependency
  10193. of the access control functions on the design, specification, and
  10194. verification disciplines used in analysis and testing.
  10195.  
  10196. The concept of the reference monitor, and its implementation via the
  10197. reference validation mechanism, plays the key role in supporting a
  10198. wide variety of access control policies. However, the role of the
  10199. reference monitor concept in other security policy areas is, by
  10200. definition, limited. For example, the reference validation mechanism
  10201. is not intended to implement identification and authentication
  10202. policies (e.g., policies governing the choice of password complexity,
  10203. strength of the encryption functions). Nor is the reference validation
  10204. mechanism intended to implement availability policy (i.e., resource
  10205. allocation, and fault-tolerance). Furthermore, the reference
  10206. validation mechanism plays an important, but incomplete role, in
  10207. establishing the penetration resistance of a TCB. Although the
  10208. reference validation mechanism itself must be penetration resistant by
  10209. virtue of requirements (a) and (b), penetrations caused by weak
  10210. authentication or availability functions, and penetrations of
  10211. privileged processes of the TCB that are not part of the reference
  10212. validation mechanism, cannot be prevented by a (penetration-
  10213. resistant) reference validation mechanism.  
  10214.  
  10215. Appendix C.
  10216.  
  10217. DEFINING ACCESS CONTROL POLICIES
  10218.  
  10219. Defining a Product Policy
  10220.  
  10221. Access control policies can be characterized in terms of five
  10222. functional subcomponents, namely (1) definition of subject and object
  10223. policy attributes, (2) administration of the policy attributes, (3)
  10224. authorization of subject access to objects, (4) subject and object
  10225. creation and destruction, and (5) object encapsulation. These
  10226. subcomponents, defined in the following paragraphs, may be used to
  10227. characterize a wide variety of security policies, including
  10228. traditional discretionary and non-discretionary policies. The intent
  10229. of characterizing all security policies in terms of these five
  10230. subcomponents is to provide a general set of requirements applicable
  10231. to all policies regardless of the aim of those policies and regardless
  10232. of the kinds of objects controlled by those policies. These
  10233. requirements provide the developers of protection profiles with a
  10234. template for an access control policy component to be used in the
  10235. definition of individual policies, without imposing any specific
  10236. constraints on policy or on the kinds of objects involved.
  10237.  
  10238. Since individual policies will follow this template, combinations of
  10239. policies will also be defined in terms of the five subcomponents.
  10240. Whenever multiple policies are supported, these subcomponents define
  10241. the composition of policies and how the policies are enforced (e.g.,
  10242. subject and object type coverage, precedence of enforcement). To
  10243. reflect the need to satisfy all these subcomponents in each specified
  10244. product policy, a single rating is assigned to access control, not to
  10245. individual subcomponents. This rating is intended to capture general
  10246. goals of policy specifications, instead of the differences between
  10247. individual subcomponents in two or more policy specifications.
  10248.  
  10249. Within a policy specification, requirement can be stated as different
  10250. sets of rules. These rules define the properties of each policy.
  10251. Access control policy subcomponents may include requirements that may
  10252. not be applicable to some policies. In such cases, the individual
  10253. requirement shall be designated as non-applicable in the definition of
  10254. the policy. For example, the transitive distribution of permissions
  10255. applies primarily to discretionary policies. Consequently, attribute
  10256. administration rules of non-discretionary controls may not include
  10257. conditions for transitive distribution and revocation, and these
  10258. conditions will be designated as non- applicable to a specific
  10259. non-discretionary policy. Similarly, discretionary policies may not
  10260. necessarily control access to object status variables (e.g.,
  10261. existence, size, creation, access and modification time, locking
  10262. state). Hence, the rules or conditions specifying such controls may be
  10263. designated as non-applicable in specific discretionary policies.
  10264.  
  10265. Some subcomponents may also include requirements that may not be
  10266. applicable to some types of objects. In such cases, the individual
  10267. requirement that is applicable to that type of object will be
  10268. specified separately. The intent of providing per-type access policy
  10269. specifications is to capture the access control needs of a particular
  10270. type of object without imposing impractical or meaningless policy
  10271. constraints. For example, user-oriented rules for access-right
  10272. administration need not be imposed on objects that cannot, and are not
  10273. intended to, store user data. Requiring transitive, temporal, time-
  10274. and location-dependent distribution and revocation conditions for a
  10275. discretionary policy on interprocess communication objects such as
  10276. semaphores and sockets or on publicly accessible objects such as
  10277. bulletin boards would be both impractical and unnecessary. However,
  10278. when per-type specifications are used, the totality of the per-type
  10279. rules and conditions must be shown to support the policy properties.
  10280.  
  10281. Definition of Policy Attributes. A policy specification must define
  10282. the subject and object attributes required by that policy, and must
  10283. identify the context-resident policy attributes. Subject attributes
  10284. may include user-related subject credentials (e.g., user identifier,
  10285. group or role identifier(s), confidentiality or integrity levels,
  10286. access time intervals, access location identifier), as well as user-
  10287. independent credentials assigned to privileged subjects (e.g., system
  10288. privileges allowing the invocation of TCB functions unavailable to
  10289. unprivileged subjects). Object attributes may include user-relevant,
  10290. policy attributes (e.g., distinct object permissions for different
  10291. users), as well as user-dependent attributes (e.g., secrecy or
  10292. integrity levels, access time constraints, access location
  10293. constraints). Finally, context-resident policy attributes may include
  10294. the current time, group definitions, and/or a level indicating whether
  10295. an emergency is in progress.
  10296.  
  10297. Administration of Policy Attributes. A policy specification must
  10298. include rules for maintaining the subject and object attributes. The
  10299. attribute maintenance rules determine the conditions under which a
  10300. subject can change its own attributes as well as those of other
  10301. subjects and objects. These conditions define whether a subject is
  10302. authorized to modify a policy attribute and may not rely on those used
  10303. in the authorization of subject references to objects (discussed
  10304. below). Otherwise, a cyclic dependency may arise between the
  10305. requirements of policy attribute administration and those of
  10306. authorization of subject references to objects (see Chapter 7). The
  10307. attribute maintenance rules also define the attributes for subject or
  10308. object import or export operations.
  10309.  
  10310. As an example of attribute maintenance rules, consider those rules
  10311. that determine what subjects have the authority to distribute, revoke,
  10312. and review policy attributes for specific subjects and objects, and
  10313. the conditions under which these actions can be performed. The
  10314. distribution and revocation rules determine which of the following
  10315. conditions are enforced.
  10316.  
  10317. a. Selectivity: distribution and revocation can be performed at the
  10318. individual attribute level, such as user, group, role, permission,
  10319. privilege, security or integrity level.
  10320.  
  10321. b. Transitivity: a recipient of a permission from an original
  10322. distributor can further distribute that permission to another subject,
  10323. but when the original distributor revokes that permission from the
  10324. original recipient, then the subject which received that permission
  10325. from the original recipient will also have it revoked.
  10326.  
  10327. c. Immediacy: the effect of the distribution and revocation of policy
  10328. attributes should take place within a specified period of time.
  10329.  
  10330. d. Independence: two or more subjects can distribute or revoke policy
  10331. attributes to the same subject independent of each other.
  10332.  
  10333. e. Time-dependency: the effect of the distribution and revocation of
  10334. policy attributes must take place at a certain time and must last for
  10335. a specified period of time.
  10336.  
  10337. f. Location-dependency: the distribution and revocation of policy
  10338. attributes must take place at a certain location.
  10339.  
  10340. The review rules determine which of the following two kinds of review
  10341. are supported and impose conditions constraining the review of
  10342. attributes.
  10343.  
  10344. 1. Per-object review: for an object, list all (or a specified class
  10345. of) attributes that govern the relationship between that object and a
  10346. specified set of subjects that may directly or indirectly access that
  10347. object.
  10348.  
  10349. 2. Per-subject review: for a subject, list all (or a specified class
  10350. of) policy attributes which govern the relationship between that
  10351. subject and a specified set of objects that subject may directly or
  10352. indirectly access.
  10353.  
  10354. The imposed conditions for allowing the review of attributes
  10355. determine, in particular, which users of an object may discover which
  10356. users have access to that object, as well as what subjects may be used
  10357. to access that object.
  10358.  
  10359. The coverage of attribute-review rules is specified in terms of the
  10360. kinds of objects and subjects to which they apply. If different rules
  10361. and conditions apply to different subjects and objects, the totality
  10362. of these rules must be shown to support the defined control
  10363. objectives. If a composition of several policies is to be supported,
  10364. attribute administration must be composed.
  10365.  
  10366. Authorization of Subject References to Objects. A subject`s reference
  10367. to an object consists of invoking an action on a set of objects. The
  10368. subject's reference to the object can be thought of as a request to
  10369. access that object. Examples of actions include invocations of TCB
  10370. commands, function calls, processor instructions, protected
  10371. subsystems, and transactions. An action may have separate policy
  10372. attributes from those of the issuer of the reference. For example,
  10373. invocations of transactions and protected subsystems (which
  10374. encapsulate objects) will generally include policy attributes that
  10375. differ from those of their invokers. In contrast, other actions such
  10376. as invocations of individual processor instructions, TCB function
  10377. calls, some TCB commands, and applications programs are prohibited
  10378. from using policy attributes, such as identity, group, role, or
  10379. secrecy and integrity levels, that differ from those of their invoker.
  10380. Policy attributes involved in rules for deciding access authorization
  10381. are referred to as "access control" attributes.
  10382.  
  10383. The rules for authorizing subject references to objects are defined in
  10384. terms of (1) the subject's authorization to an action, (2) the action
  10385. authorization to one or more objects, and (3) the subject's
  10386. authorization to one or more objects, as illustrated in Figure 1.
  10387. These rules are based on the policy attributes defined for subjects
  10388. and objects. The rules are defined either on <subject, action> and
  10389. <action, object(s)> tuples or on <subject, action, object(s)> triples,
  10390. depending upon the specified policy. The authorization rules specify
  10391. the authorization scope and granularity in terms of (1) resources
  10392. containing one or more objects, (2) individual subjects and objects,
  10393. (3) the subject and object policy attributes, and (3) the subject and
  10394. object status attributes (e.g., existence, size, creation, access and
  10395. modification time, locked/unlocked). The authorization rules also
  10396. specify whether delegated authorization (i.e., authorization of a
  10397. subject access performed on behalf of other subjects, using
  10398. combined-subject attributes) is allowed.
  10399.  
  10400. The coverage of the authorization rules is specified in terms of the
  10401. types of objects and subjects to which they apply. If different rules
  10402. apply to different subjects and objects, the totality of these rules
  10403. is shown to support the defined policy properties. If multiple
  10404. policies are supported, these rules define the composition of policies
  10405. and how the authorization conditions are enforced (e.g., subject and
  10406. object type coverage, order of enforcement)
  10407.  
  10408. Creation and Destruction of Subjects and Objects. The rules for
  10409. allowing the creation and destruction of subjects and objects must be
  10410. defined. These rules impose the following conditions under which
  10411. subjects and objects can be created and destroyed.
  10412.  
  10413. a.        Creation and destruction authorization: the authorization of
  10414. specific subjects to create and destroy a subject or an object and
  10415. with what attributes.
  10416.  
  10417. b.        Object reuse: the revocation of all authorizations to the
  10418. information contained within a storage object prior to initial
  10419. assignment, allocation or reallocation of that storage object to a
  10420. subject from the TCB's pool of unused storage objects; no information,
  10421. including encrypted representations of information, produced by a
  10422. prior subject's actions should be available to any unauthorized
  10423. subject.
  10424.  
  10425. c.        Space availability: the capacity and presence of storage space
  10426. shall be available for the creation of a subject or object.
  10427.  
  10428. d.        Definition of default attributes subject or the default values
  10429. and rules for inheriting object attributes, if any, shall be defined.
  10430.  
  10431. Object Encapsulation. The encapsulation subcomponent of an access
  10432. control policy specifies that a subject's access to a objects be
  10433. constrained in such a way that (1) all accesses to these objects occur
  10434. via access to a logically and/or physically isolated set of subjects
  10435. that protect these objects from more general forms of access, with
  10436. each subject having a unique protected entry point; and (2)
  10437. confinement of this set of protecting subjects is such that these
  10438. subjects cannot access any other objects and cannot give away access
  10439. to the objects they protect.
  10440.  
  10441. Discretionary encapsulation allows individual (privileged and
  10442. unprivileged) users to create protected subsystems and to set access
  10443. to them at their own discretion (perhaps using well- known
  10444. discretionary access control mechanisms). Non- discretionary
  10445. encapsulation uses logical and/or physical domains (and perhaps
  10446. security levels) to enforce encapsulation at the product level (i.e.,
  10447. by system administrators as opposed to at the discretion of the
  10448. creator of the protected subsystem). The traditional DoD mandatory
  10449. policies may be useful for encapsulation in some environments.  For
  10450. example, one could use DoD mandatory policies to encapsulate a
  10451. protected subsystem by reserving a sublattice of compartments for the
  10452. programs and data objects of that subsystem. (Some trusted database
  10453. management systems use this approach for the support of per-client
  10454. Database Management System (DBMS) servers. The server(s) and database
  10455. objects are encapsulated in a reserved sublattice of the TCB). Note
  10456. that both discretionary and non-discretionary encapsulation can
  10457. involve the use of surrogate subjects to protect the entry points to
  10458. protected subsystems.
  10459.  
  10460. The rules for object encapsulation must be defined whenever object
  10461. encapsulation is supported. The rules for object encapsulation
  10462. constrain (1) access authorization to encapsulated objects (i.e., a
  10463. subject access to an object can take place only if the subject invokes
  10464. another subject that performs the requested action on the object using
  10465. additional authorizations associated with the encapsulation); (2)
  10466. application-level encapsulation (i.e., they define conditions for the
  10467. creation of encapsulated subsystems); and (3) invocation of
  10468. encapsulated subsystems.
  10469.  
  10470. Composition of Access Control Policies within a Product
  10471.  
  10472. Many of the access control policies supported by a product represent a
  10473. composition of two or more basic access control policies. The need to
  10474. compose basic policies arises for at least two reasons. First, to
  10475. extend the range of an IT product's protection applicability, new
  10476. applications subsystems or individual functions may be added to a TCB.
  10477. These subsystems and functions may support different basic access
  10478. control policies from those supported by the original TCB. These
  10479. different policies must be composed with those of the original TCB.
  10480. Second, to support new system or organizational policies, functions
  10481. implementing new basic access policies are required to be added to a
  10482. product's TCB.  These new access control policies must also be
  10483. composed with the existing ones to enable the implementation of the
  10484. protection objectives of an organization.
  10485.  
  10486. The composition of access control policies within a product adds new
  10487. requirements to the definition of product access control policies. For
  10488. example, whenever trusted subsystems or functions that extend the TCB
  10489. are added to support new policies, it must be ensured that existing
  10490. TCB functions can not be used to access the new subjects and objects
  10491. in an unauthorized way, and that the new subsystems and functions can
  10492. not be used to access the currently existing subjects and objects in
  10493. an unauthorized way. Also, whenever multiple policies are composed
  10494. within the same TCB and refer to the same set of subjects and objects,
  10495. it must be determined that the composition of access control policies
  10496. is consistent with the overall TCB protection policy and does not
  10497. introduce new vulnerabilities.
  10498.  
  10499. The composition of access control policies within an access control
  10500. component also requires that both the individual access control
  10501. policies and their rules for composition be completely defined (i.e.,
  10502. for each element of the defined policy, a corresponding set of rules
  10503. must establish the completeness of the composition).
  10504.  
  10505. Composition of Discretionary and Non-Discretionary Policies.
  10506.  
  10507. A typical example of access control policy composition within the same
  10508. IT product TCB is provided by the addition of a non- discretionary
  10509. access control policy (e.g., the DoD mandatory policy) to a TCB that
  10510. originally supports only a discretionary policy. The composition rules
  10511. for the resulting TCB access control policy require that (1) both the
  10512. mandatory and discretionary authorization rules be enforced on every
  10513. subject and object protected by discretionary controls, and (2) the
  10514. references issued by the enforcement modules of the discretionary
  10515. policy be subject to the mediation specified by the mandatory rules.
  10516. This precedence of enforcement is important whenever the exceptions
  10517. returned by the enforcement of the two sets of rules are different.
  10518. The reason is that if non-identical exceptions are returned by the two
  10519. sets of rules, new covert channels may appear that would not appear
  10520. had only the mandatory rules be enforced. These covert channels would
  10521. violate the intent of the mandatory secrecy policy.
  10522.  
  10523. Other examples of policy composition within the same TCB include those
  10524. in which the DoD mandatory secrecy policy and a mandatory integrity
  10525. policy are supported. This composition might imply (1) that both the
  10526. mandatory authorization rules be enforced on every subject and object
  10527. reference and (2) that the controlled sharing rules of the two
  10528. mandatory policies must be compatible with each other. Compatibility
  10529. of these rules would imply, for example, that the secrecy and
  10530. integrity upgrade conditions must not introduce covert channels that
  10531. otherwise would not exist when the individual policies were used
  10532. separately.
  10533.  
  10534. Composition by Policy Partitioning.
  10535.  
  10536. A typical example of policy partitioning appears when a subsystem
  10537. implementing its own access control policy is integrated within an
  10538. operating system TCB. (An alternate way of integrating such a
  10539. subsystem in a trusted operating system is illustrated in the
  10540. following discussion of TCB policy subsetting). Such subsystem
  10541. integration is fairly common of database management systems and
  10542. products. Since these subsystems implement their own policies, which
  10543. generally differ from those of the operating system, the composition
  10544. must ensure that neither the operating system nor the database
  10545. subsystem interfaces of the same TCB would allow (1) an untrusted
  10546. database application or an unprivileged database user to access
  10547. operating system objects in an unauthorized manner, or (2) an
  10548. untrusted operating system application or an unprivileged operating
  10549. system user to access database objects in an unauthorized manner.
  10550. Furthermore, when non- discretionary access controls are implemented
  10551. in both the operating system and the database subsystem, the
  10552. composition of the two should not introduce covert channels that were
  10553. not present when the individual policies were supported.
  10554.  
  10555. The suggested composition causes the access control partitioning of
  10556. the TCB into an operating system and a database partition. The two
  10557. partitions can share other TCB policy components such as
  10558. identification and authentication, system entry, and trusted path.
  10559. Other similar examples of policy partitioning are offered by message
  10560. or mail subsystems and communication protocol subsystems.
  10561.  
  10562. Composition by Policy Subsetting.
  10563.  
  10564. An alternate method of policy composition is that provided by policy
  10565. subsetting. In this method, separate TCB subsets are allocated
  10566. different policies. This method of policy composition is addressed in
  10567. detail in the Trusted Database Management System Interpretation of the
  10568. Trusted Computer System Evaluation Criteria (TDI) [NCSC 1991].
  10569.  
  10570. In this composition method a TCB subset, M, is a set of software,
  10571. firmware, and hardware (where any of these three could be absent) that
  10572. mediates the access of a set of subjects, S, to a set of objects, O,
  10573. on the basis of a stated access control policy, P, and satisfies the
  10574. properties or the reference validation mechanism [NCSC 1991]. M uses
  10575. resources provided by an explicit set of more primitive TCB subsets to
  10576. create the objects of O, create and manage its data structures, and
  10577. enforce the policy P.  (The above definition does not explicitly
  10578. prohibit an access control policy P that allows trusted subjects.) If
  10579. there are no TCB subsets more primitive than M, then M uses only
  10580. hardware resources to instantiate its objects, to create and manage
  10581. its own data structures, and to enforce its policy. However, if M is
  10582. not the most primitive TCB subset, then M does not necessarily use the
  10583. hardware or firmware functions to protect itself. Rather, it uses
  10584. either hardware resources or the resources provided by other, more
  10585. primitive TCB subsets.  Thus TCB subsets build on abstract machines,
  10586. either physical hardware machines or other TCB subsets.  Just like
  10587. reference validation mechanisms, a TCB subset must enforce a defined
  10588. access control policy separately than those enforced by other subsets.
  10589.  
  10590. The access control policy P[i] is the policy allocation for each
  10591. identified TCB subset M[i] of a product along with the relation of
  10592. these policies to the product policy P. The allocated policies P[i]
  10593. will be expressed in terms of subjects in S[i] and objects in O[i]. To
  10594. satisfy the requirement that the (composite) TCB enforce its stated
  10595. policy P, each rule in P must be traceable through the structure of
  10596. the candidate TCB subsets to the TCB subset(s) where that enforcement
  10597. occurs.  It must also be noted that every subject trusted with respect
  10598. to P[i] must be within the TCB subset M[i].
  10599.  
  10600. An Example of Organizational Protection Objective: Separation of Roles
  10601.  
  10602.  Separation of roles provides for the compartmentalization of
  10603. authority and responsibility, and reduces the potential damage from
  10604. errors or accidents or damage caused by unskilled or corrupt users or
  10605. administrators. Separation of roles facilitates the secure
  10606. administration of a product by enabling administrators to distribute,
  10607. review, and revoke permissions of users to objects based on individual
  10608. roles instead of on individual users and individual objects. This
  10609. objective appears to be very common in organizations that have a
  10610. stable structure with well-defined roles and that frequently change
  10611. which users fill which roles.
  10612.  
  10613. The separation-of-role policies provide a measure of data
  10614. confidentiality and integrity by reducing the likelihood of an
  10615. unauthorized action being taken, or limiting the effects of an
  10616. unauthorized action if it does occur. To accomplish this, these
  10617. policies must associate (1) identified and authenticated users with
  10618. roles; (2) roles with sets of identified actions (e.g., executions of
  10619. specific TCB functions, commands, application programs, and
  10620. transactions identities differing from those of their invokers); and
  10621. (3) identified actions with sets of objects. The first two
  10622. associations must be non-discretionary whereas the third can be either
  10623. discretionary or non-discretionary, depending upon the threats assumed
  10624. in the product's environment (e.g., whether Trojan horses or viruses
  10625. are assumed to be included in the code of a transaction).
  10626.  
  10627. An Access Control Policy component providing fine-grained separation
  10628. can be used to restrict the capabilities of an unskilled or corrupt
  10629. administrator to more specific duties.  By creating audit
  10630. administrator, account administrator, and operator roles (for
  10631. example), potential damage can be contained and the integrity of the
  10632. product and its resources and data can provide greater protection. The
  10633. functions performed by the various security-relevant roles (e.g.,
  10634. security administrator) are identified. The administrative personnel
  10635. should be able to perform security administrative functions only after
  10636. taking a distinct auditable action to assume a security administrative
  10637. role on the product. Non- security functions that can be performed in
  10638. a security administration role should be limited strictly to those
  10639. essential to performing the security role effectively.
  10640.  
  10641. Complete separation of roles is provided in those products which, in
  10642. addition to separate administrator roles, provide the ability to
  10643. define roles for subjects. For example, a bank would require distinct
  10644. role definitions for bank tellers, loan officers and clerks. Different
  10645. definitions would also be required on a military supply system for
  10646. order clerks, shipping and receiving personnel, and combat unit
  10647. personnel.  
  10648.  
  10649. Appendix D.
  10650.  
  10651. MODULAR DECOMPOSITION
  10652.  
  10653. This Appendix discusses the notion of TCB modular decomposition and
  10654. how the specific assurance requirements for modular decomposition can
  10655. be satisfied. First, a definition of a module is given. The discussion
  10656. on decomposition relations gives background information on how to
  10657. satisfy the requirements of level MD-2 for the identification of the
  10658. protection functions and the interface between the modules through the
  10659. use of the contains and the uses relations.  Finally, a discussion on
  10660. correctness dependencies among modules gives background information on
  10661. how to satisfy the requirements of level MD-3 for an analysis of the
  10662. correctness dependencies (i.e., for service and environment
  10663. dependencies).
  10664.  
  10665. Module Definition. A module is defined as an independently replaceable
  10666. product part (unit, building block). A software product module has the
  10667. following five characteristics: a role, a set of related functions, a
  10668. well-defined interface, an internal design, and replacement
  10669. independence.
  10670.  
  10671. 1. Role. A module has a well-defined unique role (responsibility,
  10672. purpose, contract) that describes its effect as a relation among
  10673. inputs, outputs, and the retained state of the module. The role of a
  10674. module describes its effects or behavior on inputs. The effects can be
  10675. reflected in the values of outputs or the retained state of the
  10676. module. The state of a software module can be represented by a set of
  10677. variables (simple variables or tables). A well-defined role should
  10678. have a short and clear description.  A module should have a simple
  10679. name that reflects its role. Typically, module roles are product
  10680. unique; no two modules of a product have the same role (no duplication
  10681. of roles). However, the product may intentionally duplicate modules to
  10682. achieve other product goals (e.g., performance, reliability).
  10683.  
  10684. 2. Set of Related Functions. A module contains only all the functions
  10685. (procedures, subroutines) necessary to satisfy its role. Each function
  10686. has well-defined inputs, outputs, and effects. Functions can, but need
  10687. not, be named. In software, for example, some functions are expanded
  10688. in-line for performance reasons; however, such in-line expansion may
  10689. not be expressible in some programming languages. The name of a
  10690. function should reflect its purpose. The inputs and outputs of a
  10691. software function can be formal parameters, informal (global,
  10692. environment) parameters, or (request-response) messages. It should be
  10693. simple to distinguish the public from the private functions (if any)
  10694. in a module. It is desirable, but not necessary, that the functions of
  10695. a module be nonredundant (function redundancy is at the discretion of
  10696. the product or module designer). Regarding the "all and only" nature
  10697. of a module's functions, certain functions typically have a
  10698. complementary twin, (e.g., get-set, read-write, lock- unlock, do-undo,
  10699. reserve-unreserve, allocate-deallocate).
  10700.  
  10701. 3. Well-Defined Interface. A module interface is well-defined if it
  10702. contains all and only the module assumptions that a module user needs
  10703. to know. A module has an interface (external specification) that
  10704. consists of the public (visible) items that the module exports. For
  10705. software, a well-defined interface contains declarations of exported
  10706. (public) functions and their formal parameters, data, types, manifest
  10707. constants, exceptions raised, exceptions handled, exception handlers,
  10708. and, the associated rules (restrictions or discipline) for using these
  10709. public functions, types, constants, and global variables. The
  10710. discipline of an interface, if any, may explain or constrain the
  10711. "legal" order in which to use public functions. However, it may be
  10712. inappropriate or impossible to capture certain programming
  10713. restrictions or disciplines. In such cases, the restrictions should be
  10714. provided in associated documentation or commentary.  Note that a
  10715. module interface includes variables that are global to that module.
  10716.  
  10717. 4. Internal Design. A module has an internal design that contains its
  10718. construction assumptions and details how its interface is satisfied.
  10719. It should be possible to understand the interface (and role) of a
  10720. module without understanding its internal design. Module users need
  10721. not know the module internal design.
  10722.  
  10723. 5. Replacement Independence. A broken or non-functional module can be
  10724. replaced (e.g., with a corrected function having an identical
  10725. interface) without also replacing any other module in the product. In
  10726. software products, the notion of replacement independence has a
  10727. somewhat different meaning.  While replacement independence is implied
  10728. by information hiding, and information hiding disallows global
  10729. variables, replacement independence does not rule out the use of
  10730. global variables in software modules, provided that the global
  10731. variables are explicitly defined in the module's interface, and that
  10732. the dependencies among the modules using those global variables are
  10733. known.
  10734.  
  10735. Decomposition Relations. The decomposition of any product into modules
  10736. relies on two intermodule relations, namely (1) the contains relation,
  10737. and (2) the uses relation. These relations imply certain correctness
  10738. dependencies among modules that are fundamental to the understanding
  10739. of the module structure of a product.
  10740.  
  10741. 1. The Contains Relation. Internally, a module may contain component
  10742. submodules. Sometimes it is necessary or desirable to identify a set
  10743. of component parts of a module as submodules. These submodules
  10744. partition the parent module in a collectively exhaustive and mutually
  10745. exclusive manner. The decision as to when to stop partitioning a
  10746. product into additional modules is generally based on a designer's
  10747. discretion and economics (i.e., no apparent return on the effort) as
  10748. there is no other generally accepted criterion for when to stop.
  10749.  
  10750. Collected product-wide, the contains relation yields a module
  10751. hierarchy (tree). Nodes of the tree represent modules. Arc (A, B)
  10752. means that module A directly contains submodule B. The root is the
  10753. zero-th level of the tree. The product itself should be considered as
  10754. the zero-th level module. The (n+1)-th level consists of the children
  10755. (direct submodules) of the n-th level. Modules with no submodules are
  10756. called leaf modules. We can define a part hierarchy product as modular
  10757. if the product itself, and recursively each of its subparts that we
  10758. identify as should-be-modules, satisfies the definition of module.
  10759.  
  10760. 2. The Uses Relation. We define the uses relation between functions
  10761. and modules as follows. Function A uses function B if and only if (1)
  10762. A references B (e.g., A invokes B, A reads data written by B) and uses
  10763. results or side-effects of that reference and (2) there must be a
  10764. correct version of B present for A to work (run, operate) correctly. A
  10765. function uses a module if and only if it uses at least one function
  10766. from that module. A module uses another module if and only if at least
  10767. one function uses that module. The uses relation is well- defined.
  10768. >From the uses relation we can draw a directed graph for a given level,
  10769. where the nodes are same-level modules, and arc (A, B) means that
  10770. module A uses module B. Also, we can draw a uses graph of the leaf
  10771. modules.
  10772.  
  10773. Correctness Dependencies Among Modules. Correctness dependencies among
  10774. modules are basic to describing, evaluating, and simplifying the
  10775. connectivity of modules, and therefore basic to product review and
  10776. restructuring. For modules A and B, A depends on B, or A has a
  10777. correctness dependency on B or "the correctness of A depends on the
  10778. correctness of B", if and only if there must be a correct version of B
  10779. present for A to work correctly. There are two types of correctness
  10780. dependencies.
  10781.  
  10782. 1. Service Dependency. A service dependency exists where A references
  10783. a service in B and uses results or side-effects of that service. The
  10784. service may be referenced by invocation through a function call,
  10785. message, signal (e.g., a semaphore or monitor operation), or hardware
  10786. trap, or by sharing data.  It is important to point out that not all
  10787. invocations are service dependencies. For example, some services
  10788. invoke other services simply to provide notification or advice of the
  10789. occurrence of certain events and do not rely on the results of the
  10790. invoked service. In contrast, data sharing always represents service
  10791. dependencies. Modules that are either readers or writers of shared
  10792. data depend on other modules that are writers of those same shared
  10793. data. Thus, shared data with multiple writer modules produce mutual
  10794. dependencies and increase module connectivity.
  10795.  
  10796. 2. Environmental Dependency. An environmental dependency may exist
  10797. even though A may neither invoke nor share any data with B, but
  10798. nevertheless depends upon B's correct functioning.  Examples of
  10799. environmental dependencies are provided by the dependencies of most of
  10800. a product's services on the interrupt, signal, and global exception
  10801. handling subsystems. Other low- level services may become part of the
  10802. "environment" of all higher-level services (e.g., recovery services)
  10803. and, thus, environmental dependencies become pervasive in all
  10804. products.
  10805.  
  10806. For structural analysis, it is desirable to represent correctness
  10807. dependencies between product modules with the contains and the uses
  10808. relations and their graphs. As seen previously, the contains relation
  10809. among modules is unambiguously defined by syntactic analysis. In
  10810. contrast, the uses relations can be defined in two possible ways: (1)
  10811. as representing all correctness dependencies; or (2) as representing
  10812. only service dependencies. To use all correctness dependencies is
  10813. desirable but impractical in all but small products. Hence, the uses
  10814. relation could be defined in terms of only service dependencies. To
  10815. simplify product structure, we need to minimize correctness
  10816. dependencies and eliminate all circular dependencies. To do this, we
  10817. first minimize data sharing dependencies, because they contribute to
  10818. circular dependencies, then we remove other circular dependencies. The
  10819. achievement of the product simplification goal can be measured by the
  10820. results of eliminating global variables and acyclic structure, and
  10821. minimizing the cardinality of the uses relation. If this uses relation
  10822. represents all product correctness dependencies and if its graph is
  10823. cycle-free, then showing correctness of the product parts in a bottom
  10824. up order (the reverse of a topological sort of the uses graph) leads
  10825. to correctness of the product.  
  10826.  
  10827. Appendix E.
  10828.  
  10829. PENETRATION ANALYSIS
  10830.  
  10831. This appendix discusses the notion of penetration analysis and how the
  10832. specific assurance requirements for penetration analysis are
  10833. satisfied. First, the scope of penetration analysis is defined. This
  10834. gives background information for the level PA-1 requirement to define
  10835. the TCB configuration, interface, and protection functions that are
  10836. subject to penetration testing. Next, the precision coverage and test
  10837. conditions for penetration analysis are discussed. This gives
  10838. background information for the level PA-2 requirement on how the
  10839. system reference manuals, DIS, and source code are used to define the
  10840. penetration coverage and test conditions.  Penetration resistance
  10841. properties are then discussed which gives background information for
  10842. the levels PA-3 and PA-4 requirements regarding the derivation and
  10843. verification of penetration resistance properties.
  10844.  
  10845. Penetration analysis requires that the scope of the analysis method be
  10846. defined. This includes the following requirements: (1) that the
  10847. product and TCB configuration be defined and frozen, (2) that the TCB
  10848. protection functions that are the subject of analysis be identified,
  10849. and (3) that the TCB interface that is subject to penetration be
  10850. defined. The TCB configuration includes both the hardware and the
  10851. software configuration. The TCB protection functions include, but are
  10852. not restricted to, the identification of the security policies
  10853. supported, reference mediation, and TCB protection components. The TCB
  10854. interface includes all the unprivileged user-visible and application
  10855. programming interfaces. The user-visible interfaces may also include
  10856. privileged user interfaces, depending upon whether the vulnerabilities
  10857. of the security management and administrative roles need to be
  10858. analyzed.
  10859.  
  10860. Penetration analysis also requires that the precision and coverage of
  10861. the analysis method be defined. The analysis precision depends on
  10862. several factors, including the level of analysis detail, and the
  10863. definition of the types of TCB interface, design, and implementation
  10864. documentation used.  Typically, the TCB documentation includes the
  10865. programming reference manuals-not just the TCB interface definition,
  10866. DIS and FIS-and source code. The coverage of the analysis methods
  10867. includes the goals, or purposes, and the outcomes of the penetration
  10868. method. Among the typical goals of penetration analysis are flaw
  10869. identification and repair, vulnerability assessment, and testing of
  10870. known classes of penetration flaws found in other TCBs that might be
  10871. relevant to the particular product's TCB. These goals are usually
  10872. defined in terms of a set of threats deemed important to counter for
  10873. the product's security. The outcomes of the penetration analysis are
  10874. the identification of security flaws and the demonstration of the
  10875. effects of those flaws. A common desirable outcome of penetration
  10876. analysis is the confidence that a directed, comprehensive examination
  10877. of the TCB has been performed by skilled analysts using
  10878. state-of-the-art methods and tools for a given period of time. This is
  10879. a generally useful outcome even when few flaws are discovered.
  10880.  
  10881. Penetration analysis methods include penetration testing and
  10882. verification of penetration-resistance conditions.  Penetration
  10883. testing requires that test conditions, or flaw hypotheses, be
  10884. generated, and test data (e.g.,test environment, TCB call parameters,
  10885. and outcome) are defined.  Test conditions are typically generated
  10886. from existing TCB documentation, from known generic flaws, from known
  10887. flaws of other similar products, and from implementation inspection.
  10888. Note that the test conditions need not include policy-oriented
  10889. conditions; those are the subject of the security functional testing.
  10890. Penetration testing also requires that the tests be carried out to
  10891. confirm that a particular flaw is, in fact, real. In some cases, the
  10892. test need not be carried out if the design analysis confirms the
  10893. existence of a flaw, or if penetration scenarios for that flaw exist
  10894. or were confirmed by testing on a similar product.
  10895.  
  10896. In contrast with penetration testing, which rests on the hypothesis
  10897. that penetration flaws exist, the penetration- resistance verification
  10898. is based on the hypothesis that a TCB achieve various degrees of
  10899. penetration resistance whenever it adheres to a specific set of design
  10900. properties. In particular, these design properties are derived by
  10901. interpreting the requirements for reference mediation and TCB
  10902. protection functions. Note that, as in the case of penetration
  10903. testing, the penetration resistance properties need not include
  10904. security policy properties; those are the subject of the security
  10905. policy verification. For example, whether the authentication function
  10906. of an identification and authentication component satisfies its
  10907. definition is a concern of policy verification. Whether such a
  10908. function resists a dictionary attack is a concern of penetration
  10909. resistance.
  10910.  
  10911. The set of penetration-resistance properties refer to, but are not
  10912. restricted to, the following functional components: (1) TCB isolation
  10913. (or tamper proofness), which includes call parameter validation,
  10914. TCB/user space separation checks, control of both TCB entry-point
  10915. checks and TCB privilege checks; (2) TCB noncircumventability, which
  10916. guarantees that all references to TCB object (e.g., references to
  10917. object status variables, object permissions) are mediated; (3)
  10918. consistency of TCB global variables and objects, which maintains the
  10919. properties of global variables, objects, and internal functions of the
  10920. product; (4) timing consistency of condition (validation) checks,
  10921. which assures that the validity of a condition (validation) check is
  10922. not lost at the moment when an action that depends on that check is
  10923. actually performed; and (5) elimination of undesirable system and/or
  10924. user dependencies, which ensures that unnecessary dependencies between
  10925. system and user are not present in the system.
  10926.  
  10927. Unlike flaw hypotheses, the penetration-resistance properties are
  10928. captured in penetration-analysis models by the model constants and the
  10929. state-transition rules. A model must be based on a penetration
  10930. resistance policy. For example, the policy may state that a TCB
  10931. element may be altered or viewed, or a TCB internal function may be
  10932. invoked, only if the set of conditions associated with the
  10933. alter/view/invoke access specified by penetration-resistance
  10934. properties are validated in an atomic sequence (with the
  10935. alter/view/invoke operation itself); i.e., if the timing consistency
  10936. of the condition check is preserved. Penetration-resistance modeling
  10937. is useful for the same reasons as those for security policy
  10938. verification, namely, it enhances the understanding of the penetration
  10939. resistance properties and enables the design of verification methods
  10940. and tools. In the context of penetration resistance, models suggest
  10941. that penetrations, which are caused by incorrect implementation of the
  10942. penetration- resistance properties within a TCB, can be identified in
  10943. a TCB's source code as patterns of incorrect or absent
  10944. validation-check statements or flaws that violate the intended design
  10945. specifications or source code.  
  10946.  
  10947. Appendix F.
  10948.  
  10949. MOTIVATION FOR DEPENDENCY ANALYSIS
  10950.  
  10951. This appendix illustrates the need for dependency analysis in the
  10952. development of protection profiles, and classifies functional and
  10953. assurance dependencies.
  10954.  
  10955. The analysis of dependencies among the functional and assurance
  10956. components of a profile is necessary for at least the following four
  10957. reasons. Dependency analysis helps (1) avoid inadequate, or incorrect,
  10958. profile specification; (2) avoid overspecification of a profile; (3)
  10959. determine the effect of profile changes (e.g., addition or removal of
  10960. individual components or component requirements); and (4) analyze the
  10961. compatibility of different protection profiles (e.g., for the
  10962. harmonization of different security standards).
  10963.  
  10964. 1. Avoiding inadequate, or incorrect, profile specification.
  10965. Inadequate, or incorrect, profile specification can manifest itself in
  10966. many guises. One manifestation is that of missing specifications of
  10967. functional or assurance requirements that are necessary to achieve the
  10968. goal of a particular protection profile. For example, profiles might
  10969. not include either requirements for TCB physical protection or
  10970. requirements for operational, administrative, or environmental
  10971. protection that could compensate for lack of TCB physical protection.
  10972. Other profiles may include information flow (i.e., covert-channel)
  10973. identification and control as part of the confidentiality policy
  10974. components but omit them from the integrity policy components, or may
  10975. include trusted recovery as part of the integrity components but omit
  10976. them from the confidentiality components.
  10977.  
  10978. Another manifestation of inadequate specification is that of including
  10979. insufficient or incomplete requirements in a profile. For example,
  10980. requirements of TCB modularity and TCB module support of the least
  10981. privilege principle are meaningless without a definition of the
  10982. module. And, structuring the TCB into largely independent modules
  10983. cannot be performed unless the identification of intermodule
  10984. relationships is required. Other profile requirements may become
  10985. insufficiently specified whenever they are overly abstract and general
  10986. and cannot be used for specific components. For example, in a
  10987. window-based product, many of the general device-labeling requirements
  10988. lack specifications for input devices (e.g., mouse, keyboard) that
  10989. operate across independently labeled windows.
  10990.  
  10991. Inadequate requirement specifications can manifest themselves as
  10992. inconsistent requirement levels, (e.g., inconsistent specification
  10993. scope, granularity, coverage, or strength for different functional
  10994. components). For example, when the profile also requires the handling
  10995. of covert storage channels, the scope and granularity of
  10996. non-discretionary policies of a profile cannot be used at a level that
  10997. requires only the control of access to a defined subset of subject and
  10998. objects, or to the object contents, but not object status attributes.
  10999. The handling of covert storage channels (e.g., elimination, bandwidth
  11000. reduction, audit) would become immaterial when the scope and
  11001. granularity of non-discretionary policy would make overt means of data
  11002. leakage available to unprivileged programs or users. Similarly, the
  11003. TCB structuring requirement of minimizing the TCB complexity by
  11004. excluding from the TCB all modules that are not protection-critical
  11005. would be inconsistent with a level of modularity that requires only
  11006. subsystem-level TCB decomposition. Such a structuring requirement
  11007. would also be inconsistent with a level of modularity that requires
  11008. only modular decomposition but does not require the analysis of
  11009. inter-module relationships. In both cases, the requirement
  11010. inconsistencies makes it impossible to determine the
  11011. protection-criticality of a module targeted for exclusion from the
  11012. TCB.
  11013.  
  11014. Inadequate specifications can cause cyclic dependencies among the
  11015. requirements of functional or assurance components of a profile. A
  11016. cyclic dependency appears between two (or more) requirements whenever
  11017. they mutually depend on each other. For example, a cyclic dependency
  11018. may arise in the specification of the controlled sharing requirements
  11019. and the access authorization requirements. To authorize access to an
  11020. object, the controlled sharing components of access control would have
  11021. to modify a separate object or an object access-control attribute.
  11022. This modification action, in turn, requires access authorization.
  11023. Cyclic dependencies may appear in an incompletely specified profile
  11024. definition or may be introduced in a profile definition when
  11025. individual requirements of functional components are refined, or
  11026. elaborated, and/or when new functional-component requirements are
  11027. added to the profile definition. Cyclic dependencies among profile
  11028. requirements are particularly undesirable both because they make it
  11029. difficult to reason about the profile consistency and completeness and
  11030. because they make it difficult to demonstrate that such requirements
  11031. are satisfied in practice. Consequently, cyclic dependencies among
  11032. requirements must be identified and, whenever possible, eliminated
  11033. (see the example of cyclic dependency removal in the next section).
  11034.  
  11035. Finally, inadequate profile specification may, in fact, impose
  11036. requirements that are demonstrably impossible to satisfy in general.
  11037. For example, a general access review specification requiring the
  11038. determination of whether a subject could obtain a certain permission
  11039. to an object cannot, in general, be satisfied by discretionary access
  11040. control models; viz., the uniform safety problem [Denning83]. Only
  11041. some specific discretionary policy implementations could allow such
  11042. review features and, therefore, the requirement would have to be
  11043. restated in terms of the definition of a specific policy
  11044. implementation.
  11045.  
  11046. Dependency analysis helps avoid inadequate, or incorrect, profile
  11047. specification. By requiring that the different types of dependencies
  11048. among the functional and assurance components be identified (discussed
  11049. below), the analysis helps determine whether any necessary
  11050. requirements are missing from a profile definition. By establishing a
  11051. transitive closure of all dependent requirements, the analysis helps
  11052. determine whether incomplete or inconsistent levels of requirements
  11053. are specified in the profile. The transitive closure of all dependent
  11054. requirements implies that cyclic dependencies have been identified and
  11055. removed.
  11056.  
  11057. 2. Avoiding overspecification of a profile. The overspecification of
  11058. protection-profile requirements may limit the practical usefulness of
  11059. the profile by levying unnecessary functional and/or assurance
  11060. requirements on products. It may also inadvertently bias the profile
  11061. towards specific products or environments of use. This would be
  11062. particularly inappropriate since profiles are intended to capture the
  11063. essential protection requirements of diverse products and
  11064. environments. For example, a profile whose functional or assurance
  11065. components require that segmentation be supported by the hardware to
  11066. represent storage objects biases the profile towards products that
  11067. support segmented address spaces and against products that support
  11068. linear address spaces (e.g., in reduced instruction set
  11069. architectures). A profile that defines what privileges must be used in
  11070. a TCB also biases the profile towards a specific product. Similarly, a
  11071. profile may be undesirably biased towards a specific environment. For
  11072. example, if a profile includes a specific set of mandatory
  11073. authorization rules instead of generic access control rules, the
  11074. profile may become biased to a non-commercial environment in which
  11075. classified information is processed. This bias may be desirable if the
  11076. environment of profile use is appropriately recognized as being
  11077. restricted.
  11078.  
  11079. Overspecification may add impractical requirements to a profile,
  11080. namely, requirements that could not be satisfied by most, or even any,
  11081. product, in practice. For example, a requirement of enforcing the same
  11082. access authorization rule on all types of objects would be impractical
  11083. because, in most systems, access control rules are implemented on a
  11084. per-object- type basis. The authorization rules for directories differ
  11085. from those on shared memory segments and message queues, and
  11086. authorization rules for database objects differ from those for
  11087. operating system objects. A further example of overspecification is
  11088. requiring flexible discretionary access control policies for
  11089. user-oriented controlled sharing on objects that cannot, and are not
  11090. intended to, store user data, (e.g., requiring access control lists on
  11091. interprocess communication objects and on user processes as opposed to
  11092. the files containing the programs executed by user processes). For
  11093. such objects, simple controlled sharing rules that isolate the object
  11094. from unwanted or unintended sharing would be adequate.
  11095.  
  11096. Profile overspecification may cause meaningless requirements to be
  11097. levied on a product. Functional component requirements may be
  11098. meaningless for products that cannot, and are not intended to, support
  11099. certain functions and operations. For example, functions that prevent
  11100. object reuse are irrelevant to products that only need to support a
  11101. fixed number of objects that are never destroyed. Similarly, TCB
  11102. recovery functions and self-checking functions for disk data
  11103. structures are irrelevant to diskless workstations.
  11104.  
  11105. Dependency analysis helps avoid profile overspecification. By
  11106. establishing a transitive closure of all dependencies among the
  11107. functional and assurance components and between the security
  11108. functional components and operational characteristics of various
  11109. products, the analysis helps determine whether unnecessary,
  11110. impractical, or meaningless requirements, or levels of requirements,
  11111. are specified in the profile.
  11112.  
  11113. 3. Determining the effects of profile changes. Registered protection
  11114. profiles are expected to be stable for extended periods of time (e.g.,
  11115. years and possibly decades). However, as experience accumulates with
  11116. building security targets and products using these profiles, the need
  11117. for incremental changes and maintenance of profile components becomes
  11118. inevitable. Such changes may affect both individual profiles and
  11119. profile families. The fundamental concerns that arise in making such
  11120. changes are those of determining the effect of a requirement change on
  11121. the balance of the profile requirements and of maintaining the
  11122. consistency and coherence of the changed profile. These concerns are
  11123. also relevant in determining whether the updated profile should be
  11124. accepted into the profile registry.
  11125.  
  11126. For example, suppose that the security-testing component of a profile
  11127. is changed to require explicit, systematic test- coverage analysis and
  11128. coverage documentation in test plans.  This change implies that,
  11129. regardless of the coverage analysis method, the test conditions must
  11130. be generated from the interpretation of the policy models in the TCB.
  11131. Otherwise, the notion of test coverage would remain undefined. Hence,
  11132. this change suggests that a requirement for policy model and its
  11133. interpretation must be included in the assurance (i.e., development
  11134. process) components of the profile (family).  Furthermore, if a more
  11135. specific form of coverage is required, additional requirements may
  11136. become necessary. For instance, if either data-flow or path coverage
  11137. is specified, then the identification of the protection-critical
  11138. modules becomes necessary because these types of coverage require that
  11139. a graph of all authorization checks must be derived from the source
  11140. code. Hence, both modular decomposition at a level that provides
  11141. intermodule correctness dependencies and implementation requirements
  11142. must be included in the development process components of the profile
  11143. (family).
  11144.  
  11145. Dependency analysis is a primary requirement for determining the
  11146. effect of profile changes and maintenance. By establishing a
  11147. transitive closure of all dependent requirements, the analysis helps
  11148. determine precisely the scope of the profile change in terms of the
  11149. required components and levels of required components.
  11150.  
  11151. 4. Analyzing the compatibility of different protection profiles. An
  11152. important objective of this standard is to enable the comparative
  11153. analysis of product security requirements of existing standards with
  11154. those protection profiles accepted under this standard. Several
  11155. national and international security standards already exist, and a
  11156. substantial number of different products have been evaluated under
  11157. these standards.  Thus, it is important to establish relationships
  11158. between the existing standards and evaluated products, and the
  11159. accepted profiles of this standard.
  11160.  
  11161. An impediment that arises in any attempt to establish a relationship
  11162. among the profiles of two different standards is the fact that some
  11163. components are classified as assurance components in some standards
  11164. and as functional components in others. For example, the TCSEC
  11165. includes operational assurances that are classified as functional
  11166. assurances in the CTCPEC and the ITSEC. Although this may only be
  11167. considered a superficial problem of profile organization, in practice
  11168. it may have far reaching implications because the rating of the
  11169. functionality levels may not be based on the same parameters as those
  11170. of the assurance levels in different standards. Thus, the ability to
  11171. establish a correspondence between, and harmonize, profiles of
  11172. different standards may be hampered by inconsistent requirement
  11173. classification. Furthermore, establishing the correspondence between
  11174. these profiles requires that the dependencies among the components of
  11175. both individual profiles be analyzed and preserved under the
  11176. established correspondence.
  11177.  
  11178. Dependency analysis is an important step in establishing the
  11179. correspondence between profiles of different security standards. This
  11180. analysis decreases profile susceptibility to inconsistent
  11181. classification of a component either as a function or as an assurance.
  11182. Regardless of how a component is classified, its dependencies with
  11183. other components of the same profile are identified by dependency
  11184. analysis. Those dependencies could then be preserved under the
  11185. established correspondence.  
  11186.  
  11187. Appendix G.
  11188.  
  11189. EXAMPLE ASSURANCE PACKAGES
  11190.  
  11191. This appendix provides seven example assurance packages using the
  11192. development assurance components defined in Chapter 5
  11193.  and 
  11194. the evaluation assurance components defined in Chapter 6. The 
  11195. structure of each assurance package follows that of the de-
  11196. velopment assurance and evaluation assurance components, 
  11197. (i.e., each package contains components, where required, for 
  11198. development process, operational support, development envi-
  11199. ronment, development evidence, and from the classes of eval-
  11200. uation methods: testing, review and analysis). The 
  11201. designations T1 through T7 indicate a ranking of assurance 
  11202. provided by the package. These packages are summarized in Ta-
  11203. ble 15 at the end of this appendix.
  11204.  
  11205. Assurance Package T1
  11206.  
  11207. The T1 assurance package is intended to include IT products 
  11208. which meet the minimum assurance levels acceptable to consum-
  11209. ers whether in the DoD and Intelligence Community or the com-
  11210. mercial world. This assurance package includes only the 
  11211. developmental assurance and evaluation assurance components, 
  11212. at their lowest levels, deemed necessary to provide minimal 
  11213. understanding of the product.
  11214.  
  11215. The intent of the development process assurance for this pack-
  11216. age is to establish that the external behavior of the product 
  11217. conforms to its user-level and administrative documentation 
  11218. without any analysis of the internal structure of the IT prod-
  11219. uct's TCB. For this reason, only the claimed TCB protection 
  11220. properties, the TCB element list, and the TCB interface de-
  11221. scription are required to enable functional testing.
  11222.  
  11223. The intent of the operational support assurance for this pack-
  11224. age is to establish a minimal level of user and administrative 
  11225. guidance and product information that enables the correct 
  11226. product installation and use of the product's protection func-
  11227. tions.
  11228.  
  11229. There are no requirements in this package pertaining to the 
  11230. environment in which the product is developed.
  11231.  
  11232. The intent of this package is to require the type of assurance 
  11233. evidence that was generated during the normal development pro-
  11234. cess of a product that was rated C2 by TCSEC standards. Table 
  11235. 8 summarizes the generic assurance components that comprise 
  11236. the T1 assurance package.
  11237.  
  11238. Table 8. T1 Assurance Package
  11239.  
  11240. .---------------------------------------.
  11241. | Assurance Components           |  T1  |
  11242. |================================|======|
  11243. | Development Assurance Components      |     
  11244. |=======================================|
  11245. | Development Process                   |
  11246. |--------------------------------+------|
  11247. | TCB Property Definition        | PD-1 |
  11248. |--------------------------------+------|
  11249. | TCB Design                            |
  11250. |--------------------------------+------|
  11251. |   TCB Element Identification   | ID-1 |
  11252. |--------------------------------+------|
  11253. |   TCB Interface Definition     | IF-1 |
  11254. |--------------------------------+------|
  11255. |   TCB Modular Decomposition    | ---- |
  11256. |--------------------------------+------|
  11257. |   TCB Structuring Support      | ---- |
  11258. |--------------------------------+------|
  11259. |   TCB Design Disciplines       | ---- |
  11260. |--------------------------------+------|
  11261. | TCB Implementation Support     | ---- |
  11262. |--------------------------------+------|
  11263. | TCB Testing and Analysis              |
  11264. |--------------------------------+------|
  11265. |   Functional Testing           | FT-1 |
  11266. |--------------------------------+------|
  11267. |   Penetration Analysis         | ---- |
  11268. |--------------------------------+------|
  11269. |   Covert Channel Analysis      | ---- |
  11270. |--------------------------------+------|
  11271. | Operational Support                   |
  11272. |--------------------------------+------|
  11273. | User Security Guidance         | UG-1 |
  11274. |--------------------------------+------|
  11275. | Administrative Guidance        | AG-1 |
  11276. |--------------------------------+------|
  11277. | Trusted Generation             | ---- |
  11278. |--------------------------------+------|
  11279. | Development Environment               |
  11280. |--------------------------------+------|
  11281. | Life Cycle Definition          | ---- |
  11282. |--------------------------------+------|
  11283. | Configuration Management       | ---- |
  11284. |--------------------------------+------|
  11285. | Trusted Distribution           | ---- |
  11286. |--------------------------------+------|
  11287. | Development Evidence                  |
  11288. |--------------------------------+------|
  11289. | TCB Protection Properties      | EPP1 |
  11290. |--------------------------------+------|
  11291. | Product Development            | EPD1 |
  11292. |--------------------------------+------|
  11293. | Product Testing & Analysis            |
  11294. |--------------------------------+------|
  11295. |   Functional Testing           | EFT1 |
  11296. |--------------------------------+------|
  11297. |   Penetration Analysis         | ---- |
  11298. |--------------------------------+------|
  11299. |   Covert Channel Analysis      | ---- |
  11300. |--------------------------------+------|
  11301. | Product Support                | ---- |
  11302. `---------------------------------------'
  11303. |=======================================|
  11304. | Evaluation Assurance Components       |
  11305. |=======================================|
  11306. | Testing                               |
  11307. |--------------------------------+------|
  11308. |   Test Analysis                | TA-1 |
  11309. |--------------------------------+------|
  11310. |   Independent Testing          | IT-1 |
  11311. |--------------------------------+------|
  11312. | Review                                |
  11313. |--------------------------------+------|
  11314. |   Development Environment      | ---- |
  11315. |--------------------------------+------|
  11316. |   Operational Support          | ---- |
  11317. |--------------------------------+------|
  11318. | Analysis                              |
  11319. |--------------------------------+------|
  11320. |   Protection Properties        | ---- |
  11321. |--------------------------------+------|
  11322. |   Design                       | ---- |
  11323. |--------------------------------+------|
  11324. |   Implementation               | ---- |
  11325. `---------------------------------------'
  11326.  
  11327. Assurance Package T2 
  11328.  
  11329. The T2 assurance package is intended to include IT products 
  11330. used within the DoD and Intelligence Community as well as the 
  11331. commercial world. For this assurance package a few additional 
  11332. development and evaluation assurance components, at their 
  11333. lowest levels, have been added. Some of the components from 
  11334. the previous package have been augmented but still remain on 
  11335. the low side of the component scale.
  11336.  
  11337. The intent of the development process assurance for this pack-
  11338. age, like the previous package, is only to establish that the 
  11339. external behavior of the product conforms to its user-level 
  11340. and administrative documentation without any analysis of the 
  11341. internal structure of the IT product's TCB. For this reason, 
  11342. only the claimed TCB protection properties, the formal models 
  11343. of these properties, the TCB interface description, and the 
  11344. TCB element list are required to enable functional testing. 
  11345. Support for TCB structuring is limited to process isolation 
  11346. and the separation of the protection critical TCB elements 
  11347. from the protection non-critical ones.
  11348.  
  11349. The intent of the operational support assurance for this pack-
  11350. age is to establish a minimal level of user and administrative 
  11351. guidance and product information that enables the correct 
  11352. product installation and use of the product's protection func-
  11353. tions.
  11354.  
  11355. There are no requirements in this package pertaining to the 
  11356. environment in which the product is developed.
  11357.  
  11358. The intent of this package is to require the type of assurance 
  11359. evidence generated during the normal development process of a 
  11360. product that was rated B1 by TCSEC standards. Table 9 summa-
  11361. rizes the generic assurance components that comprise the T2 
  11362. assurance package.
  11363.  
  11364. Table 9. T2 Assurance Package
  11365.  
  11366. .---------------------------------------.
  11367. | Assurance Components           |  T2  |
  11368. |================================|======|
  11369. | Development Assurance Components      |     
  11370. |=======================================|
  11371. | Development Process                   |
  11372. |--------------------------------+------|
  11373. | TCB Property Definition        | PD-2 |
  11374. |--------------------------------+------|
  11375. | TCB Design                            |
  11376. |--------------------------------+------|
  11377. |   TCB Element Identification   | ID-2 |
  11378. |--------------------------------+------|
  11379. |   TCB Interface Definition     | IF-1 |
  11380. |--------------------------------+------|
  11381. |   TCB Modular Decomposition    | ---- |
  11382. |--------------------------------+------|
  11383. |   TCB Structuring Support      | SP-1 |
  11384. |--------------------------------+------|
  11385. |   TCB Design Disciplines       | ---- |
  11386. |--------------------------------+------|
  11387. | TCB Implementation Support     | ---- |
  11388. |--------------------------------+------|
  11389. | TCB Testing and Analysis              |
  11390. |--------------------------------+------|
  11391. |   Functional Testing           | FT-1 |
  11392. |--------------------------------+------|
  11393. |   Penetration Analysis         | ---- |
  11394. |--------------------------------+------|
  11395. |   Covert Channel Analysis      | ---- |
  11396. |--------------------------------+------|
  11397. | Operational Support                   |
  11398. |--------------------------------+------|
  11399. | User Security Guidance         | UG-1 |
  11400. |--------------------------------+------|
  11401. | Administrative Guidance        | AG-1 |
  11402. |--------------------------------+------|
  11403. | Trusted Generation             | TG-1 |
  11404. |--------------------------------+------|
  11405. | Development Environment               |
  11406. |--------------------------------+------|
  11407. | Life Cycle Definition          | ---- |
  11408. |--------------------------------+------|
  11409. | Configuration Management       | ---- |
  11410. |--------------------------------+------|
  11411. | Trusted Distribution           | ---- |
  11412. |--------------------------------+------|
  11413. | Development Evidence                  |
  11414. |--------------------------------+------|
  11415. | TCB Protection Properties      | EPP2 |
  11416. |--------------------------------+------|
  11417. | Product Development            | EPD1 |
  11418. |--------------------------------+------|
  11419. | Product Testing & Analysis            |
  11420. |--------------------------------+------|
  11421. |   Functional Testing           | EFT1 |
  11422. |--------------------------------+------|
  11423. |   Penetration Analysis         | ---- |
  11424. |--------------------------------+------|
  11425. |   Covert Channel Analysis      | ---- |
  11426. |--------------------------------+------|
  11427. | Product Support                | EPS1 |
  11428. `---------------------------------------'
  11429. |=======================================|
  11430. | Evaluation Assurance Components       |
  11431. |=======================================|
  11432. | Testing                               |
  11433. |--------------------------------+------|
  11434. |   Test Analysis                | TA-1 |
  11435. |--------------------------------+------|
  11436. |   Independent Testing          | IT-1 |
  11437. |--------------------------------+------|
  11438. | Review                                |
  11439. |--------------------------------+------|
  11440. |   Development Environment      | ---- |
  11441. |--------------------------------+------|
  11442. |   Operational Support          | OSR1 |
  11443. |--------------------------------+------|
  11444. | Analysis                              |
  11445. |--------------------------------+------|
  11446. |   Protection Properties        | ---- |
  11447. |--------------------------------+------|
  11448. |   Design                       | ---- |
  11449. |--------------------------------+------|
  11450. |   Implementation               | ---- |
  11451. `---------------------------------------'
  11452.  
  11453.  
  11454. Assurance Package T3
  11455.  
  11456. The T3 assurance package is intended to include the highest 
  11457. level commercial IT products that incorporate protection 
  11458. functionality. Although most development assurance components 
  11459. are required at their lowest levels, the requirements of sev-
  11460. eral development components are extended to capture (1) spe-
  11461. cific TCB properties, and (2) a rudimentary notion of support 
  11462. for product structure.
  11463.  
  11464. The intent of the development process assurance for this pack-
  11465. age is to establish that the external behavior of the product 
  11466. conforms to its user-level and administrative documentation 
  11467. without analysis of the internal structure of the IT product's 
  11468. TCB. Like the previous package, only the claimed TCB protec-
  11469. tion properties and their informal models, the TCB interface 
  11470. description, and the TCB element list are required to enable 
  11471. functional testing. Penetration testing is also enabled for 
  11472. this package using the same parameters. Support for TCB struc-
  11473. turing is limited to process isolation and separation of the 
  11474. protection critical TCB elements from the protection non-
  11475. critical ones. 
  11476.  
  11477. The intent of the operational support assurance for this pack-
  11478. age is to establish a minimal level of user and administrative 
  11479. guidance and product information that enables the correct 
  11480. product installation and use of product protection functions. 
  11481.  
  11482. The development environment assurances are intended to pro-
  11483. vide a minimal level of control over the product configuration 
  11484. and production. This level of development environment assur-
  11485. ance is similar to that already present in most established 
  11486. commercial development organizations.
  11487.  
  11488. The intent of this package is to require the type of assurance 
  11489. evidence that is generated during the most stringent commer-
  11490. cial development process. Table 10 summarizes the generic as-
  11491. surance components that comprise the T3 assurance package.
  11492.  
  11493. Table 10. T3 Assurance Package
  11494.  
  11495. .---------------------------------------.
  11496. | Assurance Components           |  T3  |
  11497. |================================|======|
  11498. | Development Assurance Components      |     
  11499. |=======================================|
  11500. | Development Process                   |
  11501. |--------------------------------+------|
  11502. | TCB Property Definition        | PD-2 |
  11503. |--------------------------------+------|
  11504. | TCB Design                            |
  11505. |--------------------------------+------|
  11506. |   TCB Element Identification   | ID-2 |
  11507. |--------------------------------+------|
  11508. |   TCB Interface Definition     | IF-1 |
  11509. |--------------------------------+------|
  11510. |   TCB Modular Decomposition    | ---- |
  11511. |--------------------------------+------|
  11512. |   TCB Structuring Support      | SP-1 |
  11513. |--------------------------------+------|
  11514. |   TCB Design Disciplines       | ---- |
  11515. |--------------------------------+------|
  11516. | TCB Implementation Support     | ---- |
  11517. |--------------------------------+------|
  11518. | TCB Testing and Analysis              |
  11519. |--------------------------------+------|
  11520. |   Functional Testing           | FT-1 |
  11521. |--------------------------------+------|
  11522. |   Penetration Analysis         | PA-1 |
  11523. |--------------------------------+------|
  11524. |   Covert Channel Analysis      | ---- |
  11525. |--------------------------------+------|
  11526. | Operational Support                   |
  11527. |--------------------------------+------|
  11528. | User Security Guidance         | UG-1 |
  11529. |--------------------------------+------|
  11530. | Administrative Guidance        | AG-2 |
  11531. |--------------------------------+------|
  11532. | Trusted Generation             | TG-2 |
  11533. |--------------------------------+------|
  11534. | Development Environment               |
  11535. |--------------------------------+------|
  11536. | Life Cycle Definition          | LC-1 |
  11537. |--------------------------------+------|
  11538. | Configuration Management       | CM-1 |
  11539. |--------------------------------+------|
  11540. | Trusted Distribution           | ---- |
  11541. |--------------------------------+------|
  11542. | Development Evidence                  |
  11543. |--------------------------------+------|
  11544. | TCB Protection Properties      | EPP2 |
  11545. |--------------------------------+------|
  11546. | Product Development            | EPD1 |
  11547. |--------------------------------+------|
  11548. | Product Testing & Analysis            |
  11549. |--------------------------------+------|
  11550. |   Functional Testing           | EFT1 |
  11551. |--------------------------------+------|
  11552. |   Penetration Analysis         | EPA1 |
  11553. |--------------------------------+------|
  11554. |   Covert Channel Analysis      | ---- |
  11555. |--------------------------------+------|
  11556. | Product Support                | EPS1 |
  11557. `---------------------------------------'
  11558. |=======================================|
  11559. | Evaluation Assurance Components       |
  11560. |=======================================|
  11561. | Testing                               |
  11562. |--------------------------------+------|
  11563. |   Test Analysis                | TA-2 |
  11564. |--------------------------------+------|
  11565. |   Independent Testing          | IT-1 |
  11566. |--------------------------------+------|
  11567. | Review                                |
  11568. |--------------------------------+------|
  11569. |   Development Environment      | DER1 |
  11570. |--------------------------------+------|
  11571. |   Operational Support          | OSR1 |
  11572. |--------------------------------+------|
  11573. | Analysis                              |
  11574. |--------------------------------+------|
  11575. |   Protection Properties        | ---- |
  11576. |--------------------------------+------|
  11577. |   Design                       | DA-1 |
  11578. |--------------------------------+------|
  11579. |   Implementation               | ---- |
  11580. `---------------------------------------'
  11581.  
  11582.  
  11583. Assurance Package T4
  11584.  
  11585. The T4 assurance package is intended to include IT products 
  11586. no longer of a commercial variety. This package includes sev-
  11587. eral extensions to the assurance components of the previous 
  11588. two packages. 
  11589.  
  11590. The intent of the development process assurance for this pack-
  11591. age is both to establish that the external behavior of the 
  11592. product conforms to its user-level and administrative docu-
  11593. mentation and to provide visibility into the internal struc-
  11594. ture of the IT product's TCB. For this reason, requirements 
  11595. for Descriptive Interface Specifications and modular decompo-
  11596. sition have been added. The TCB element identification, func-
  11597. tional testing, and penetration testing requirements have 
  11598. also been extended to support the added assurances of external 
  11599. behavior. 
  11600.  
  11601. The intent of the operational support assurance for this pack-
  11602. age is to establish a level of user and administrative guid-
  11603. ance and product information that enables the correct product 
  11604. installation and use of product protection functions. The de-
  11605. veloper is required to establish and document a policy for 
  11606. responding to consumer inquiries. 
  11607.  
  11608. The development environment assurances are intended to pro-
  11609. vide a level of control over the product configuration and 
  11610. production, including well-defined coding standards and 
  11611. strict configuration management processes. This level of de-
  11612. velopment environment assurance is more stringent than that 
  11613. used in most advanced commercial development organizations.
  11614.  
  11615. The intent of this package is to require more assurance evi-
  11616. dence than that which is generated during commercial develop-
  11617. ment oriented towards high-quality products. Table 11 
  11618. summarizes the generic assurance components that comprise the 
  11619. T4 assurance package.
  11620.  
  11621. Table 11. T4 Assurance Package
  11622.  
  11623. .---------------------------------------.
  11624. | Assurance Components           |  T4  |
  11625. |================================|======|
  11626. | Development Assurance Components      |     
  11627. |=======================================|
  11628. | Development Process                   |
  11629. |--------------------------------+------|
  11630. | TCB Property Definition        | PD-2 |
  11631. |--------------------------------+------|
  11632. | TCB Design                            |
  11633. |--------------------------------+------|
  11634. |   TCB Element Identification   | ID-2 |
  11635. |--------------------------------+------|
  11636. |   TCB Interface Definition     | IF-2 |
  11637. |--------------------------------+------|
  11638. |   TCB Modular Decomposition    | MD-1 |
  11639. |--------------------------------+------|
  11640. |   TCB Structuring Support      | SP-1 |
  11641. |--------------------------------+------|
  11642. |   TCB Design Disciplines       | ---- |
  11643. |--------------------------------+------|
  11644. | TCB Implementation Support     | IM-1 |
  11645. |--------------------------------+------|
  11646. | TCB Testing and Analysis              |
  11647. |--------------------------------+------|
  11648. |   Functional Testing           | FT-2 |
  11649. |--------------------------------+------|
  11650. |   Penetration Analysis         | PA-2 |
  11651. |--------------------------------+------|
  11652. |   Covert Channel Analysis      | ---- |
  11653. |--------------------------------+------|
  11654. | Operational Support                   |
  11655. |--------------------------------+------|
  11656. | User Security Guidance         | UG-1 |
  11657. |--------------------------------+------|
  11658. | Administrative Guidance        | AG-2 |
  11659. |--------------------------------+------|
  11660. | Trusted Generation             | TG-2 |
  11661. |--------------------------------+------|
  11662. | Development Environment               |
  11663. |--------------------------------+------|
  11664. | Life Cycle Definition          | LC-2 |
  11665. |--------------------------------+------|
  11666. | Configuration Management       | CM-2 |
  11667. |--------------------------------+------|
  11668. | Trusted Distribution           | ---- |
  11669. |--------------------------------+------|
  11670. | Development Evidence                  |
  11671. |--------------------------------+------|
  11672. | TCB Protection Properties      | EPP2 |
  11673. |--------------------------------+------|
  11674. | Product Development            | EPD2 |
  11675. |--------------------------------+------|
  11676. | Product Testing & Analysis            |
  11677. |--------------------------------+------|
  11678. |   Functional Testing           | EFT2 |
  11679. |--------------------------------+------|
  11680. |   Penetration Analysis         | EPA2 |
  11681. |--------------------------------+------|
  11682. |   Covert Channel Analysis      | ---- |
  11683. |--------------------------------+------|
  11684. | Product Support                | EPS2 |
  11685. `---------------------------------------'
  11686. |=======================================|
  11687. | Evaluation Assurance Components       |
  11688. |=======================================|
  11689. | Testing                               |
  11690. |--------------------------------+------|
  11691. |   Test Analysis                | TA-3 |
  11692. |--------------------------------+------|
  11693. |   Independent Testing          | IT-2 |
  11694. |--------------------------------+------|
  11695. | Review                                |
  11696. |--------------------------------+------|
  11697. |   Development Environment      | DER2 |
  11698. |--------------------------------+------|
  11699. |   Operational Support          | OSR2 |
  11700. |--------------------------------+------|
  11701. | Analysis                              |
  11702. |--------------------------------+------|
  11703. |   Protection Properties        | ---- |
  11704. |--------------------------------+------|
  11705. |   Design                       | DA-2 |
  11706. |--------------------------------+------|
  11707. |   Implementation               | CI-1 |
  11708. `---------------------------------------'
  11709.  
  11710.  
  11711. Assurance Package T5 
  11712.  
  11713. The T5 assurance package is the first of the high-assurance 
  11714. packages that are intended for environments where security is 
  11715. a primary operational consideration. These environments in-
  11716. clude, but are not restricted to, national defense, industrial 
  11717. process control, medical information processing, financial, 
  11718. and business controls.
  11719.  
  11720. The intent of the development process assurance for this pack-
  11721. age is to lead to IT products that are internally structured 
  11722. to the extent required by source-code analyses and by strict 
  11723. development environment requirements (e.g., strict configura-
  11724. tion management). The source code analyses, which include pen-
  11725. etration and storage-channel analyses, are intended to convey 
  11726. the evidence that the TCB protection properties are correctly 
  11727. implemented in the product.
  11728.  
  11729. The intent of the operational support assurance for this pack-
  11730. age is to establish a level of user and administrative guid-
  11731. ance and product information that enables the correct product 
  11732. installation and use of product protection functions. The de-
  11733. veloper is required to establish and document a policy for 
  11734. responding to consumer inquiries. 
  11735.  
  11736. The development environment assurances are intended to pro-
  11737. vide a well-defined level of control over the product config-
  11738. uration and production, including well-defined coding 
  11739. standards and strict configuration management processes. This 
  11740. level of development environment assurance is more stringent 
  11741. than that used in the most advanced commercial development or-
  11742. ganizations.
  11743.  
  11744. The intent of this package is to require the type of evidence 
  11745. that is necessary to assess whether this product is satisfac-
  11746. tory for high assurance environments. This assurance evidence 
  11747. is the type generated during the normal development process 
  11748. of a product that was rated B2 by TCSEC standards. Evidence 
  11749. for the additional analyses is required. Table 12 summarizes 
  11750. the generic assurance components that comprise the T5 assur-
  11751. ance package.
  11752.  
  11753. Table 12. T5 Assurance Package
  11754.  
  11755. .---------------------------------------.
  11756. | Assurance Components           |  T5  |
  11757. |================================|======|
  11758. | Development Assurance Components      |     
  11759. |=======================================|
  11760. | Development Process                   |
  11761. |--------------------------------+------|
  11762. | TCB Property Definition        | PD-3 |
  11763. |--------------------------------+------|
  11764. | TCB Design                            |
  11765. |--------------------------------+------|
  11766. |   TCB Element Identification   | ID-2 |
  11767. |--------------------------------+------|
  11768. |   TCB Interface Definition     | IF-2 |
  11769. |--------------------------------+------|
  11770. |   TCB Modular Decomposition    | MD-2 |
  11771. |--------------------------------+------|
  11772. |   TCB Structuring Support      | SP-2 |
  11773. |--------------------------------+------|
  11774. |   TCB Design Disciplines       | ---- |
  11775. |--------------------------------+------|
  11776. | TCB Implementation Support     | IM-3 |
  11777. |--------------------------------+------|
  11778. | TCB Testing and Analysis              |
  11779. |--------------------------------+------|
  11780. |   Functional Testing           | FT-3 |
  11781. |--------------------------------+------|
  11782. |   Penetration Analysis         | PA-2 |
  11783. |--------------------------------+------|
  11784. |   Covert Channel Analysis      | CCA1 |
  11785. |--------------------------------+------|
  11786. | Operational Support                   |
  11787. |--------------------------------+------|
  11788. | User Security Guidance         | UG-1 |
  11789. |--------------------------------+------|
  11790. | Administrative Guidance        | AG-2 |
  11791. |--------------------------------+------|
  11792. | Trusted Generation             | TG-2 |
  11793. |--------------------------------+------|
  11794. | Development Environment               |
  11795. |--------------------------------+------|
  11796. | Life Cycle Definition          | LC-2 |
  11797. |--------------------------------+------|
  11798. | Configuration Management       | CM-2 |
  11799. |--------------------------------+------|
  11800. | Trusted Distribution           | ---- |
  11801. |--------------------------------+------|
  11802. | Development Evidence                  |
  11803. |--------------------------------+------|
  11804. | TCB Protection Properties      | EPP3 |
  11805. |--------------------------------+------|
  11806. | Product Development            | EPD3 |
  11807. |--------------------------------+------|
  11808. | Product Testing & Analysis            |
  11809. |--------------------------------+------|
  11810. |   Functional Testing           | EFT3 |
  11811. |--------------------------------+------|
  11812. |   Penetration Analysis         | EPA2 |
  11813. |--------------------------------+------|
  11814. |   Covert Channel Analysis      | ECC1 |
  11815. |--------------------------------+------|
  11816. | Product Support                | EPS2 |
  11817. `---------------------------------------'
  11818. |=======================================|
  11819. | Evaluation Assurance Components       |
  11820. |=======================================|
  11821. | Testing                               |
  11822. |--------------------------------+------|
  11823. |   Test Analysis                | TA-4 |
  11824. |--------------------------------+------|
  11825. |   Independent Testing          | IT-3 |
  11826. |--------------------------------+------|
  11827. | Review                                |
  11828. |--------------------------------+------|
  11829. |   Development Environment      | DER2 |
  11830. |--------------------------------+------|
  11831. |   Operational Support          | OSR2 |
  11832. |--------------------------------+------|
  11833. | Analysis                              |
  11834. |--------------------------------+------|
  11835. |   Protection Properties        | ---- |
  11836. |--------------------------------+------|
  11837. |   Design                       | DA-2 |
  11838. |--------------------------------+------|
  11839. |   Implementation               | CI-1 |
  11840. `---------------------------------------'
  11841.  
  11842.  
  11843. Assurance Package T6
  11844.  
  11845. The T6 assurance package is intended for environments where 
  11846. security is a major operational consideration. These environ-
  11847. ments include, but are not restricted to, national defense, 
  11848. industrial process control, medical information processing, 
  11849. financial, and business controls.
  11850.  
  11851. The intent of the development process assurance for this pack-
  11852. age is to lead to IT products that are internally structured 
  11853. to the highest possible extent required by source-code anal-
  11854. yses and by strict development environment requirements 
  11855. (e.g., strict configuration management). The assurances in-
  11856. cluded in this package include specific design disciplines 
  11857. that enable systematic code analysis (e.g., minimization of 
  11858. the TCB size and complexity). The source code analyses, which 
  11859. include systematic penetration and covert-channel analyses, 
  11860. are intended to convey evidence that the TCB protection prop-
  11861. erties are correctly implemented in the product.
  11862.  
  11863. The intent of the operational support assurance is to estab-
  11864. lish precise, specific administrative guidance on a per role 
  11865. basis that could mitigate or deter the exploitation of poten-
  11866. tial vulnerabilities. 
  11867.  
  11868. The development environment assurances are intended to main-
  11869. tain a strict level of control over the product configuration 
  11870. and production, including demonstrable compliance with coding 
  11871. standards and strict configuration management processes. This 
  11872. level of development environment assurance is much more strict 
  11873. than that commonly used in the most advanced commercial de-
  11874. velopment organizations.
  11875.  
  11876. The intent of this package is to require the type of evidence 
  11877. that is necessary to assess whether this product is satisfac-
  11878. tory for high assurance environments. This assurance evidence 
  11879. is the type generated during the normal development process 
  11880. of a product that was rated B3 by TCSEC standards. Evidence 
  11881. for the additional analyses is required. Table 13 summarizes 
  11882. the generic assurance components that comprise the T6 assur-
  11883. ance package.
  11884.  
  11885. Table 13. T6 Assurance Package
  11886.  
  11887. .---------------------------------------.
  11888. | Assurance Components           |  T6  |
  11889. |================================|======|
  11890. | Development Assurance Components      |     
  11891. |=======================================|
  11892. | Development Process                   |
  11893. |--------------------------------+------|
  11894. | TCB Property Definition        | PD-3 |
  11895. |--------------------------------+------|
  11896. | TCB Design                            |
  11897. |--------------------------------+------|
  11898. |   TCB Element Identification   | ID-2 |
  11899. |--------------------------------+------|
  11900. |   TCB Interface Definition     | IF-2 |
  11901. |--------------------------------+------|
  11902. |   TCB Modular Decomposition    | MD-3 |
  11903. |--------------------------------+------|
  11904. |   TCB Structuring Support      | SP-3 |
  11905. |--------------------------------+------|
  11906. |   TCB Design Disciplines       | DD-2 |
  11907. |--------------------------------+------|
  11908. | TCB Implementation Support     | IM-3 |
  11909. |--------------------------------+------|
  11910. | TCB Testing and Analysis              |
  11911. |--------------------------------+------|
  11912. |   Functional Testing           | FT-3 |
  11913. |--------------------------------+------|
  11914. |   Penetration Analysis         | PA-2 |
  11915. |--------------------------------+------|
  11916. |   Covert Channel Analysis      | CCA2 |
  11917. |--------------------------------+------|
  11918. | Operational Support                   |
  11919. |--------------------------------+------|
  11920. | User Security Guidance         | UG-1 |
  11921. |--------------------------------+------|
  11922. | Administrative Guidance        | AG-3 |
  11923. |--------------------------------+------|
  11924. | Trusted Generation             | TG-3 |
  11925. |--------------------------------+------|
  11926. | Development Environment               |
  11927. |--------------------------------+------|
  11928. | Life Cycle Definition          | LC-3 |
  11929. |--------------------------------+------|
  11930. | Configuration Management       | CM-3 |
  11931. |--------------------------------+------|
  11932. | Trusted Distribution           | ---- |
  11933. |--------------------------------+------|
  11934. | Development Evidence                  |
  11935. |--------------------------------+------|
  11936. | TCB Protection Properties      | EPP3 |
  11937. |--------------------------------+------|
  11938. | Product Development            | EPD4 |
  11939. |--------------------------------+------|
  11940. | Product Testing & Analysis            |
  11941. |--------------------------------+------|
  11942. |   Functional Testing           | EFT3 |
  11943. |--------------------------------+------|
  11944. |   Penetration Analysis         | EPA2 |
  11945. |--------------------------------+------|
  11946. |   Covert Channel Analysis      | ECC2 |
  11947. |--------------------------------+------|
  11948. | Product Support                | EPS3 |
  11949. `---------------------------------------'
  11950. |=======================================|
  11951. | Evaluation Assurance Components       |
  11952. |=======================================|
  11953. | Testing                               |
  11954. |--------------------------------+------|
  11955. |   Test Analysis                | TA-4 |
  11956. |--------------------------------+------|
  11957. |   Independent Testing          | IT-3 |
  11958. |--------------------------------+------|
  11959. | Review                                |
  11960. |--------------------------------+------|
  11961. |   Development Environment      | DER3 |
  11962. |--------------------------------+------|
  11963. |   Operational Support          | OSR3 |
  11964. |--------------------------------+------|
  11965. | Analysis                              |
  11966. |--------------------------------+------|
  11967. |   Protection Properties        | ---- |
  11968. |--------------------------------+------|
  11969. |   Design                       | DA-3 |
  11970. |--------------------------------+------|
  11971. |   Implementation               | CI-3 |
  11972. `---------------------------------------'
  11973.  
  11974.  
  11975. Assurance Package T7
  11976.  
  11977. The T7 assurance package is intended for environments where 
  11978. security is the major operational consideration. These envi-
  11979. ronments include, but are not restricted to, national defense, 
  11980. industrial process control, life-support systems, as well as 
  11981. special aeronautical and space applications. Products devel-
  11982. oped at this level of assurance are expected to include spe-
  11983. cial development environments, not just special development 
  11984. processes.
  11985.  
  11986. The intent of the development process assurance for this pack-
  11987. age is to lead to IT products that are internally structured 
  11988. to the highest possible extent required by formal design and 
  11989. source-code analyses and by very strict development environ-
  11990. ment requirements (e.g., automated configuration management 
  11991. and configuration management safeguards). The assurances in-
  11992. cluded in this package include the state-of-the-art design 
  11993. disciplines that enable formal analysis and systematic code 
  11994. analysis (e.g., minimization of the TCB size and complexity). 
  11995. The source code analyses, which include verification of pen-
  11996. etration-resistance and covert-channel analysis, are intended 
  11997. to convey evidence that the TCB protection properties are cor-
  11998. rectly designed and implemented in the product.
  11999.  
  12000. The intent of the operational support assurance is to estab-
  12001. lish precise, specific administrative guidance on a per role 
  12002. basis that could mitigate or deter the exploitation of poten-
  12003. tial vulnerabilities. 
  12004.  
  12005. The development environment assurances are intended to main-
  12006. tain the highest level of control over the product configura-
  12007. tion and production, including demonstrable compliance with 
  12008. coding standards and strict configuration management process-
  12009. es. This level of development environment assurance is the 
  12010. most stringent used for any IT product production.
  12011.  
  12012. The intent of this package is to require the type of evidence 
  12013. that is necessary to assess whether the IT product is satis-
  12014. factory for the highest levels of assurance. This assurance 
  12015. evidence is the type generated during the normal development 
  12016. process of a product that was rated A1 by TCSEC standards. 
  12017. Evidence of the formal analyses becomes necessary. Table 14 
  12018. summarizes the generic assurance components that comprise the 
  12019. T7 assurance package.
  12020.  
  12021. Table 14. T7 Assurance Package
  12022.  
  12023. .---------------------------------------.
  12024. | Assurance Components           |  T7  |
  12025. |================================|======|
  12026. | Development Assurance Components      |     
  12027. |=======================================|
  12028. | Development Process                   |
  12029. |--------------------------------+------|
  12030. | TCB Property Definition        | PD-4 |
  12031. |--------------------------------+------|
  12032. | TCB Design                            |
  12033. |--------------------------------+------|
  12034. |   TCB Element Identification   | ID-2 |
  12035. |--------------------------------+------|
  12036. |   TCB Interface Definition     | IF-3 |
  12037. |--------------------------------+------|
  12038. |   TCB Modular Decomposition    | MD-3 |
  12039. |--------------------------------+------|
  12040. |   TCB Structuring Support      | SP-3 |
  12041. |--------------------------------+------|
  12042. |   TCB Design Disciplines       | DD-2 |
  12043. |--------------------------------+------|
  12044. | TCB Implementation Support     | IM-4 |
  12045. |--------------------------------+------|
  12046. | TCB Testing and Analysis              |
  12047. |--------------------------------+------|
  12048. |   Functional Testing           | FT-3 |
  12049. |--------------------------------+------|
  12050. |   Penetration Analysis         | PA-2 |
  12051. |--------------------------------+------|
  12052. |   Covert Channel Analysis      | CCA3 |
  12053. |--------------------------------+------|
  12054. | Operational Support                   |
  12055. |--------------------------------+------|
  12056. | User Security Guidance         | UG-1 |
  12057. |--------------------------------+------|
  12058. | Administrative Guidance        | AG-3 |
  12059. |--------------------------------+------|
  12060. | Trusted Generation             | TG-3 |
  12061. |--------------------------------+------|
  12062. | Development Environment               |
  12063. |--------------------------------+------|
  12064. | Life Cycle Definition          | LC-3 |
  12065. |--------------------------------+------|
  12066. | Configuration Management       | CM-4 |
  12067. |--------------------------------+------|
  12068. | Trusted Distribution           | TD-1 |
  12069. |--------------------------------+------|
  12070. | Development Evidence                  |
  12071. |--------------------------------+------|
  12072. | TCB Protection Properties      | EPP4 |
  12073. |--------------------------------+------|
  12074. | Product Development            | EPD5 |
  12075. |--------------------------------+------|
  12076. | Product Testing & Analysis            |
  12077. |--------------------------------+------|
  12078. |   Functional Testing           | EFT3 |
  12079. |--------------------------------+------|
  12080. |   Penetration Analysis         | EPA2 |
  12081. |--------------------------------+------|
  12082. |   Covert Channel Analysis      | ECC2 |
  12083. |--------------------------------+------|
  12084. | Product Support                | EPS3 |
  12085. `---------------------------------------'
  12086. |=======================================|
  12087. | Evaluation Assurance Components       |
  12088. |=======================================|
  12089. | Testing                               |
  12090. |--------------------------------+------|
  12091. |   Test Analysis                | TA-5 |
  12092. |--------------------------------+------|
  12093. |   Independent Testing          | IT-4 |
  12094. |--------------------------------+------|
  12095. | Review                                |
  12096. |--------------------------------+------|
  12097. |   Development Environment      | DER3 |
  12098. |--------------------------------+------|
  12099. |   Operational Support          | OSR3 |
  12100. |--------------------------------+------|
  12101. | Analysis                              |
  12102. |--------------------------------+------|
  12103. |   Protection Properties        | ---- |
  12104. |--------------------------------+------|
  12105. |   Design                       | DA-3 |
  12106. |--------------------------------+------|
  12107. |   Implementation               | CI-3 |
  12108. `---------------------------------------'
  12109.  
  12110.  
  12111. Table 15. Assurance Packages Summary
  12112. .---------------------------------------------------------------------------------.
  12113. | Assurance Components           |  T1  |  T2  |  T3  |  T4  |  T5  |  T6  |  T7  |
  12114. |================================|======|======|======|======|======|======|======|
  12115. | Development Assurance Components                                                |     
  12116. |=================================================================================|
  12117. | Development Process                                                             |
  12118. |--------------------------------+------+------+------+------+------+------+------|
  12119. | TCB Property Definition        | PD-1 | PD-2 | PD-2 | PD-2 | PD-3 | PD-3 | PD-4 |
  12120. |--------------------------------+------+------+------+------+------+------|------|
  12121. | TCB Design                                                                      |
  12122. |--------------------------------+------+------+------+------+------+------+------|
  12123. |   TCB Element Identification   | ID-1 | ID-2 | ID-2 | ID-2 | ID-2 | ID-2 | ID-2 |
  12124. |--------------------------------+------+------+------+------+------+------+------|
  12125. |   TCB Interface Definition     | IF-1 | IF-1 | IF-1 | IF-2 | IF-2 | IF-2 | IF-3 |
  12126. |--------------------------------+------+------+------+------+------+------+------|
  12127. |   TCB Modular Decomposition    | ---- | ---- | ---- | MD-1 | MD-2 | MD-3 | MD-3 |
  12128. |--------------------------------+------+------+------+------+------+------+------|
  12129. |   TCB Structuring Support      | ---- | SP-1 | SP-1 | SP-1 | SP-2 | SP-3 | SP-3 |
  12130. |--------------------------------+------+------+------+------+------+------+------|
  12131. |   TCB Design Disciplines       | ---- | ---- | ---- | ---- | ---- | DD-2 | DD-2 |
  12132. |--------------------------------+------+------+------+------+------+------+------|
  12133. | TCB Implementation Support     | ---- | ---- | ---- | IM-1 | IM-3 | IM-3 | IM-4 |
  12134. |--------------------------------+------+------+------+------+------+------+------|
  12135. | TCB Testing and Analysis                                                        |
  12136. |--------------------------------+------+------+------+------+------+-------------|
  12137. |   Functional Testing           | FT-1 | FT-1 | FT-1 | FT-2 | FT-3 | FT-3 | FT-3 |
  12138. |--------------------------------+------+------+------+------+------+------+------|
  12139. |   Penetration Analysis         | ---- | ---- | PA-1 | PA-2 | PA-2 | PA-2 | PA-2 |
  12140. |--------------------------------+------+------+------+------+------+------+------|
  12141. |   Covert Channel Analysis      | ---- | ---- | ---- | ---- | CCA1 | CCA2 | CCA3 |
  12142. |--------------------------------+------+------+------+------+------+------+------|
  12143. | Operational Support                                                             |
  12144. |--------------------------------+------+------+------+------+------+------+------|
  12145. | User Security Guidance         | UG-1 | UG-1 | UG-1 | UG-1 | UG-1 | UG-1 | UG-1 |
  12146. |--------------------------------+------+------+------+------+------+------+------|
  12147. | Administrative Guidance        | AG-1 | AG-1 | AG-2 | AG-2 | AG-2 | AG-3 | AG-3 |
  12148. |--------------------------------+------+------+------+------+------+------+------|
  12149. | Trusted Generation             | ---- | TG-1 | TG-2 | TG-2 | TG-2 | TG-3 | TG-3 |
  12150. |--------------------------------+------+------+------+------+------+------+------|
  12151. | Development Environment                                                         |
  12152. |--------------------------------+------+------+------+------+------+------+------|
  12153. | Life Cycle Definition          | ---- | ---- | LC-1 | LC-2 | LC-2 | LC-3 | LC-3 |
  12154. |--------------------------------+------+------+------+------+------+------+------|
  12155. | Configuration Management       | ---- | ---- | CM-1 | CM-2 | CM-2 | CM-3 | CM-4 |
  12156. |--------------------------------+------+------+------+------+------+------+------|
  12157. | Trusted Distribution           | ---- | ---- | ---- | ---- | ---- | ---- | TD-1 |
  12158. |--------------------------------+------+------+------+------+------+------+------|
  12159. | Development Evidence                                                            |
  12160. |--------------------------------+------+------+------+------+------+------+------|
  12161. | TCB Protection Properties      | EPP1 | EPP2 | EPP2 | EPP2 | EPP3 | EPP3 | EPP4 |
  12162. |--------------------------------+------+------+------+------+------+------+------|
  12163. | Product Development            | EPD1 | EPD1 | EPD1 | EPD2 | EPD3 | EPD4 | EPD5 |
  12164. |--------------------------------+------+------+------+------+------+------+------|
  12165. | Product Testing & Analysis                                                      |
  12166. |--------------------------------+------+------+------+------+------+------+------|
  12167. |   Functional Testing           | EFT1 | EFT1 | EFT1 | EFT2 | EFT3 | EFT3 | EFT3 |
  12168. |--------------------------------+------+------+------+------+------+------+------|
  12169. |   Penetration Analysis         | ---- | ---- | EPA1 | EPA2 | EPA2 | EPA2 | EPA2 |
  12170. |--------------------------------+------+------+------+------+------+------+------|
  12171. |   Covert Channel Analysis      | ---- | ---- | ---- | ---- | ECC1 | ECC2 | ECC2 |
  12172. |--------------------------------+------+------+------+------+------+------+------|
  12173. | Product Support                | ---- | EPS1 | EPS1 | EPS2 | EPS2 | EPS3 | EPS3 |
  12174. `---------------------------------------------------------------------------------'
  12175. |=================================================================================|
  12176. | Evaluation Assurance Components                                                 |
  12177. |=================================================================================|
  12178. | Testing                                                                         |
  12179. |--------------------------------+------+------+------+------+------+------+------|
  12180. |   Test Analysis                | TA-1 | TA-1 | TA-2 | TA-3 | TA-4 | TA-4 | TA-5 |
  12181. |--------------------------------+------+------+------+------+------+------+------|
  12182. |   Independent Testing          | IT-1 | IT-1 | IT-1 | IT-2 | IT-3 | IT-3 | IT-4 |
  12183. |--------------------------------+------+------+------+------+------+------+------|
  12184. | Review                                                                          |
  12185. |--------------------------------+------+------+------+------+------+------+------|
  12186. |   Development Environment      | ---- | ---- | DER1 | DER2 | DER2 | DER3 | DER3 |
  12187. |--------------------------------+------+------+------+------+------+------+------|
  12188. |   Operational Support          | ---- | OSR1 | OSR1 | OSR2 | OSR2 | OSR3 | OSR3 |
  12189. |--------------------------------+------+------+------+------+------+------+------|
  12190. | Analysis                                                                        |
  12191. |--------------------------------+------+------+------+------+------+------+------|
  12192. |   Protection Properties        | ---- | ---- | ---- | ---- | ---- | ---- | ---- |
  12193. |--------------------------------+------+------+------+------+------+------+------|
  12194. |   Design                       | ---- | ---- | DA-1 | DA-2 | DA-2 | DA-3 | DA-3 |
  12195. |--------------------------------+------+------+------+------+------+------+------|
  12196. |   Implementation               | ---- | ---- | ---- | CI-1 | CI-1 | CI-3 | CI-3 |
  12197. `---------------------------------------------------------------------------------'
  12198.  
  12199. Downloaded From P-80 International Information Systems 304-744-2253
  12200.